12.磁盘分区 -- 对磁盘分区,文件系统修改,挂载

知识为进步之母,而进步又为富强之源泉。这篇文章主要讲述12.磁盘分区 -- 对磁盘分区,文件系统修改,挂载相关的知识,希望能为你提供帮助。
1. 磁盘基本分区Fdisk
1.添加一块小于2TB的磁盘进行使用,步骤如下:
1.给虚拟机添加一块新的硬盘
2.使用fdisk进行分区
3.使用mkfs进行格式化
4.使用mount进行挂载
PS: 生产分区建议,如无特殊需求直接使用整个磁盘即可,无需分区。
PS: 学习分区建议: 1P+1E(3L) 2P+1E(2L) 3P+1E(1L) (仅适用于练习)

//fdisk对磁盘分区 [17:14:47 root@centos8] ~]#fdisk -l // [17:21:12 root@centos8] ~]#fdisk /dev/sdc Welcome to fdisk (util-linux 2.32.1). Changes will remain in memory only, until you decide to write them. Be careful before using the write command. Command action atoggle a bootable flag#切换分区启动标记 bedit bsd disklabel#编辑sdb磁盘标签 ctoggle the dos compatibility flag#切换dos兼容模式 ddelete a partition#删除分区 llist known partition types#显示分区类型 mprint this menu#显示帮助菜单 nadd a new partition#新建分区 ocreate a new empty DOS partition table#创建新的空白分区表 pprint the partition table#显示分区表的信息 qquit without saving changes#不保存退出 screate a new empty Sun disklabel#创建新的Sun磁盘标签 tchange a partitions system id#修改分区ID,可以通过l查看id uchange display/entry units#修改容量单位,磁柱或扇区 vverify the partition table#检验分区表 wwrite table to disk and exit#保存退出 xextra functionality (experts only)#拓展功能例如:对120g的sdc分成3个区 [16:35:32 root@centos8] ~]#fdisk /dev/sdcWelcome to fdisk (util-linux 2.32.1). Changes will remain in memory only, until you decide to write them. Be careful before using the write command.Device does not contain a recognized partition table. Created a new DOS disklabel with disk identifier 0x8e3d28ce.Command (m for help): n Partition type pprimary (0 primary, 0 extended, 4 free) eextended (container for logical partitions) Select (default p): p Partition number (1-4, default 1): 1 First sector (2048-251658239, default 2048): //第一部分分40g Last sector, +sectors or +size{K,M,G,T,P} (2048-251658239, default 251658239): +40GCreated a new partition 1 of type \'Linux\' and of size 40 GiB.Command (m for help): n Partition type pprimary (1 primary, 0 extended, 3 free) eextended (container for logical partitions) Select (default p): p Partition number (2-4, default 2): 2 First sector (83888128-251658239, default 83888128): Last sector, +sectors or +size{K,M,G,T,P} (83888128-251658239, default 251658239): +60GCreated a new partition 2 of type \'Linux\' and of size 60 GiB.Command (m for help): n Partition type pprimary (2 primary, 0 extended, 2 free) eextended (container for logical partitions) Select (default p): p Partition number (3,4, default 3): 3 First sector (209717248-251658239, default 209717248): //分第三部分的时候数值超出越界 Last sector, +sectors or +size{K,M,G,T,P} (209717248-251658239, default 251658239): +20G Value out of range. //所以第三部分分成了10g Last sector, +sectors or +size{K,M,G,T,P} (209717248-251658239, default 251658239): +10GCreated a new partition 3 of type \'Linux\' and of size 10 GiB.Command (m for help): w The partition table has been altered. Calling ioctl() to re-read partition table. Syncing disks.[16:41:19 root@centos8] ~]#lsblk NAMEMAJ:MIN RMSIZE RO TYPE MOUNTPOINT sda8:00200G0 disk ├─sda18:101G0 part /boot └─sda28:20199G0 part ├─cl-root 253:0070G0 lvm/ ├─cl-swap 253:102G0 lvm[SWAP] └─cl-home 253:20127G0 lvm/home sdb8:16020G0 disk sdc8:320120G0 disk ├─sdc18:33040G0 part ├─sdc28:34060G0 part └─sdc38:35010G0 part sr011:019.3G0 rom [16:41:21 root@centos8] ~]#partprobe /dev/sdc//同步,更新分区表

2.mkfs创建文件系统
创建文件管理工具
mkfs命令:FS_TYPE是要创建的文件系统名; DEVICE是设备名称 (1) mkfs.FS_TYPE /dev/DEVICE ext4 xfs btrfs vfat (2) mkfs -t FS_TYPE /dev/DEVICE -L \'LABEL\' 设定卷标 mke2fs:ext系列文件系统专用管理工具 常用选项 -t {ext2|ext3|ext4} 指定文件系统类型 -b {1024|2048|4096} 指定块 block 大小 -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 关闭指定特性

例:将sdc1格式化为ext4的文件系统 [17:10:15 root@centos8] ~]#mkfs -t ext4 /dev/sdc1 mke2fs 1.45.6 (20-Mar-2020) /dev/sdc1 contains a xfs file system Proceed anyway? (y,N) y Creating filesystem with 10485760 4k blocks and 2621440 inodes Filesystem UUID: be1b9de8-2504-4f7f-a3d1-2da00ba9f0ee Superblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 4096000, 7962624Allocating group tables: done Writing inode tables: done Creating journal (65536 blocks): done Writing superblocks and filesystem accounting information: done

3.fsck,e2fsck文件系统检测和修复
注意:一定不要在挂载状态下执行以下命令
(1)检测系统 fsck.xfs 或fsck.ext4也就是fsck.文件系统名
4.挂载
挂载:将额外文件系统与根文件系统某现存的目录建立起关联关系,进而使得此目录做为其它文件访问入
口的行为
卸载:为解除此关联关系的过程
把设备关联挂载点:mount Point
挂载点下原有文件在挂载完成后会被临时隐藏,因此,挂载点目录一般为空
进程正在使用中的设备无法被卸载
挂载文件系统mount格式:
device:指明要挂载的设备
设备文件:例如:/dev/sda5
卷标:-L \'LABEL\', 例如 -L \'MYDATA\'
UUID: -U \'UUID\':例如 -U \'0c50523c-43f1-45e7-85c0-a126711d406e\'
伪文件系统名称:proc, sysfs, devtmpfs, configfs
dir:挂载点
事先存在,建议使用空目录
mount常用命令选项 -t vsftype 指定要挂载的设备上的文件系统类型 -r readonly,只读挂载 -w read and write, 读写挂载 -n不更新/etc/mtab,mount不可见 -a 自动挂载所有支持自动挂载的设备(定义在了/etc/fstab文件中,且挂载选项中有auto功能) -L \'LABEL\' 以卷标指定挂载设备 -U \'UUID\' 以UUID指定要挂载的设备 -B, --bind 绑定目录到另一个目录上 -o options:(挂载文件系统的选项),多个选项使用逗号分隔 async 异步模式,内存更改时,写入缓存区buffer,过一段时间再写到磁盘中 sync 同步模式,内存更改时,同时写磁盘 atime/noatime 包含目录和文件 diratime/nodiratime 目录的访问时间戳 auto/noauto 是否支持自动挂载,是否支持-a选项 exec/noexec 是否支持将文件系统上运行应用程序 dev/nodev 是否支持在此文件系统上使用设备文件 suid/nosuid 是否支持suid和sgid权限 remount重新挂载 ro 只读 rw 读写 user/nouser 是否允许普通用户挂载此设备,/etc/fstab使用 acl 启用此文件系统上的acl功能 loop 使用loop设备 _netdev 当网络可用时才对网络资源进行挂载,如:NFS文件系统 defaults 相当于rw, suid, dev, exec, auto, nouser, async

挂载规则:一个挂载点,同一时间只能挂载一个设备
一个挂载点,同一时间挂载了多个设备,只能看到最后一个设备的数据,其它设备上的数据将被隐藏
一个设备可以同时挂载到多个挂载点
通常挂载点一般是已存在空的目录
卸载文件系统 umount【12.磁盘分区 -- 对磁盘分区,文件系统修改,挂载】卸载时:可使用设备,也可以使用挂载点
umount 设备名|挂载点

查看挂载情况查看挂载
#通过查看/etc/mtab文件显示当前已挂载的所有设备 mount #查看内核追踪到的已挂载的所有设备 cat /proc/mounts findmntMOUNT_POINT|device

查看挂载点情况
findmntMOUNT_POINT|device

查看正在访问指定文件系统的进程
lsof MOUNT_POINT fuser -v MOUNT_POINT

终止所有在正访问指定的文件系统的进程
fuser -km MOUNT_POINT

持久挂载将挂载保存到 /etc/fstab 中可以下次开机时,自动启用挂载
/etc/fstab格式 帮助:man 5 fstab
每行定义一个要挂载的文件系统,,其中包括共 6 项
  1. 要挂载的设备或伪文件系统
    设备文件
    LABEL:LABEL=" "
    UUID:UUID=" "
    伪文件系统名称:proc, sysfs
  2. 挂载点:必须是事先存在的目录
  3. 文件系统类型:ext4,xfs,iso9660,nfs,none
  4. 挂载选项:defaults ,acl,bind
  5. 转储频率:0:不做备份 1:每天转储 2:每隔一天转储
  6. fsck检查的文件系统的顺序:允许的数字是0 1 2
    0:不自检 ,1:首先自检;一般只有rootfs才用 2:非rootfs使用
    添加新的挂载项,需要执行下面命令生效
    范例:centos8 /etc/fstab 的分区UUID错误,无法启动
    范例:centos6 /etc/fstab 的分区UUID错误,无法启动

    推荐阅读