加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

linux基础—课堂随笔07_磁盘存储和文件系统

发布时间:2020-12-14 00:50:25 所属栏目:Linux 来源:网络整理
导读:磁盘管理 管理分区 列出块设备 ? lsblk parted命令 高级分区操作 用法: ??parted [选项]... [设备 [命令 [参数]...]...] ??parted /dev/sdb mklabel gpt|msdos ??parted /dev/sdb print ??parted /dev/sdb mkpart primary 1 200 (默认M) ??parted /dev/sd

磁盘管理

管理分区

  • 列出块设备
    ? lsblk

parted命令 高级分区操作

用法:
??parted [选项]... [设备 [命令 [参数]...]...]
??parted /dev/sdb mklabel gpt|msdos
??parted /dev/sdb print
??parted /dev/sdb mkpart primary 1 200 (默认M)
??parted /dev/sdb rm 1
??parted –l 列出分区信息

分区工具

  • gdisk /dev/sdb 类fdisk 的GPT分区工具
  • fdisk -l [-u] [device...] 查看分区
  • fdisk /dev/sdb 管理分区
  • 子命令:
    ??p 分区列表
    ??t 更改分区类型
    ??n 创建新分区
    ??d 删除分区
    ??v 校验分区
    ??u 转换单位
    ??w 保存并退出
    ??q 不保存并退出

同步分区表

  • 查看内核是否已经识别新的分区
    ?cat /proc/partations
  • centos6通知内核重新读取硬盘分区表
    新增分区用
    ?partx -a /dev/DEVICE
    ?kpartx -a /dev/DEVICE -f: force
    删除分区用
    ?partx -d --nr M-N /dev/DEVICE
  • CentOS 5,7: 使用partprobe ?partprobe [/dev/DEVICE]

文件系统类型

  • ?ext2(Extended file system) :适用于那些分区容量不是太大,更新也不频繁的情况,例如 /boot 分区
  • ?ext3:是 ext2 的改进版本,其支持日志功能,能够帮助系统从非正常关机导致的异常中恢复。它通常被用作通用的文件系统
  • ?ext4:是 ext 文件系统的最新版。提供了很多新的特性,包括纳秒级时间戳、创建和使用巨型文件(16TB)、最大1EB的文件系统,以及速度的提升
  • ?xfs:SGI,支持最大8EB的文件系统
  • ?btrfs(Oracle),reiserfs,jfs(AIX),swap
  • 光盘:iso9660

文件系统分类

  • 根据其是否支持"journal"功能:
    ?日志型文件系统: ext3,ext4,xfs,...
    ?非日志型文件系统: ext2,vfat
  • 文件系统的组成部分:
    ?内核中的模块:ext4,vfat
    ?用户空间的管理工具:mkfs.ext4,mkfs.xfs,mkfs.vfat

创建文件系统

  • mkfs命令:
    (1) mkfs.FS_TYPE /dev/DEVICE
    ?ext4
    ?xfs
    ?btrfs
    ?vfat
    (2) mkfs -t FS_TYPE /dev/DEVICE
    ?-L ‘LABEL‘ 设定卷标

创建ext文件系统

  • mke2fs:ext系列文件系统专用管理工具
    -t {ext2|ext3|ext4} 指定文件系统类型
    -b {1024|2048|4096} 指定块大小
    -L ‘LABEL’ 设置卷标
    -j 相当于 -t ext3
    ?mkfs.ext3 = mkfs -t ext3 = mke2fs -j = mke2fs -t ext3
    -i # 为数据空间中每多少个字节创建一个inode;不应该小于block大小
    -N # 指定分区中创建多少个inode
    -I 一个inode记录占用的磁盘空间大小,128---4096
    -m # 默认5%,为管理人员预留空间占总空间的百分比
    -O FEATURE[,...] 启用指定特性
    -O ^FEATURE 关闭指定特性

用mount命令挂载文件系统

◆ 挂载方法:mount DEVICE MOUNT_POINT
◆ mount:通过查看/etc/mtab文件显示当前已挂载的所有设备
◆ mount [-f nrsvw] [-t vfstype] [-o options] device dir
?device:指明要挂载的设备; ?(1) 设备文件:例如/dev/sda5
?(2) 卷标:-L ‘LABEL‘,例如 -L ‘MYDATA‘
?(3) UUID,-U ‘UUID‘:例如 -U ‘0c50523c-43f1-45e7-85c0-a126711d406e‘
?(4) 伪文件系统名称:proc,sysfs,devtmpfs,configfs
?dir:挂载点
?事先存在,建议使用空目录
?进程正在使用中的设备无法被卸载

◆ 常用命令选项
?-t vsftype 指定要挂载的设备上的文件系统类型
?-r readonly,只读挂载
?-w read and write,读写挂载
?-n 不更新/etc/mtab,mount不可见
?-a 自动挂载所有支持自动挂载的设备(定义在了/etc/fstab文件中,且挂载选项中有auto功能)
?-L ‘LABEL‘ 以卷标指定挂载设备
?-U ‘UUID‘ 以UUID指定要挂载的设备
?-B,--bind 绑定目录到另一个目录上
?查看内核追踪到的已挂载的所有设备
??cat /proc/mounts

◆ 卸载命令

  • 查看挂载情况
    ?findmnt MOUNT_POINT|device
  • 查看正在访问指定文件系统的进程
    ?lsof MOUNT_POINT
    ?fuser -v MOUNT_POINT
  • 终止所有在正访问指定的文件系统的进程
    ?fuser -km MOUNT_POINT
  • 卸载
    ?umount DEVICE
    ?umount MOUNT_POINT

工具dd

◆ dd命令:转换并复制文件
◆ 用法:
dd if=/PATH/FROM/SRC of=/PATH/TO/DEST bs=# count=#
?if=file 从所命名文件读取而不是从标准输入
?of=file 写到所命名的文件而不是到标准输出
?ibs=size 一次读size个byte
?obs=size 一次写size个byte ?bs=size block size,指定块大小(既是是ibs也是obs)
?cbs=size 一次转化size个byte
?skip=blocks 从开头忽略blocks个ibs大小的块
?seek=blocks 从开头忽略blocks个obs大小的块
?count=n 复制n个bs

RAID

RAID级别

?RAID-0:条带卷,strip
?RAID-1:镜像卷,mirror
?RAID-2
?..
?RAID-5
?RAID-6
?RAID-10
?RAID-01

逻辑卷管理器

pv管理工具

◆ 显示pv信息
?pvs:简要pv信息显示
?pvdisplay:列出详细pv信息
◆ 创建pv
?pvcreate /dev/DEVICE
◆ 删除pv
?pvremove /dev/DEVICE

vg管理工具

◆ 显示卷组
?vgs
?vgdisplay
◆ 创建卷组
?vgcreate [-s #[kKmMgGtTpPeE]] VolumeGroupName PhysicalDevicePath [物理设备路径]
◆ 管理卷组
?vgextend VolumeGroupName PhysicalDevicePath [PhysicalDevicePath...]
?vgreduce VolumeGroupName PhysicalDevicePath [PhysicalDevicePath...]
◆ 删除卷组
?先做pvmove,再做vgremove

lv管理工具

显示逻辑卷
?lvs
?Lvdisplay
◆ 创建逻辑卷
?lvcreate -L #[mMgGtT] -n NAME VolumeGroup
?lvcreate -l 60%VG -n mylv testvg
?lvcreate -l 100%FREE -n yourlv testvg
◆ 删除逻辑卷
?lvremove /dev/VG_NAME/LV_NAME
◆ 重设文件系统大小
?fsadm [options] resize device [new_size[BKMGTEP]]
?resize2fs [-f] [-F] [-M] [-P] [-p] device [new_size]
?xfs_growfs /mountpoint

创建逻辑卷步骤:

1.硬盘分区 (用“t”创建8e标识)fdisk
2.创建物理卷
?pvcreate /dev/sd{b1,c} b1:分区 c:整块硬盘
3.物理卷加入卷组,创建卷组名字 ?vgcreate -s 16M 卷组名字 物理卷名字(-s 16M:设置PE单位为16M)
?blkid 查看分区UID,TYPE="LVM2_member"为逻辑卷
4.将卷组分出空间:
?lvcreate -n name (-l个数 -L容量 100%FREE将所有空间都用光) 物理卷组名字
5.创建文件系统
?mkfs.xfs (dev/vg0 物理卷名/逻辑卷名)
6.挂载:
?mount /dev/vg0/mysql(逻辑卷路径) /data/mysql(挂载点)
6.5 永久挂载
?vim /etc/fstab
?写入blkid中逻辑卷的UUID /data/mysql xfs defaults 0 0
?试着在文件夹中建数据:
cd /data/mysql/ dd if=/dev/zero of=f1 bs=1M count=1024

在线扩展逻辑卷(处于挂载状态可以直接扩展)

?lvextend -l +PE个数/+100%FREE -L +容量 /dev/vg0/mysql

  • 扩展逻辑卷:
    xfs_growfs /data/mysql/(挂载点)
    扩展ext文件系统:resize2fs /dev/vg0/mysql(逻辑卷路径)
    合并成一条: lvextend -L +1G -r /dev/vg0/mysql

  • 缩减逻辑卷(必须离线缩减) xfs不能缩减1.取消挂载 umount 逻辑卷路径2.缩减文件系统:2.1 e2fsck -f /dev/vg0/log (缩减到1G) 2.2 resize2fs /dev/vg0/log 1G 检查文件系统完整性3.缩减逻辑卷:?lvreduce -L 1G /dev/vg0/log(缩减前先给文件做备份) 4.挂载 mount5.df -hT (T显示type类型)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读