每当要对系统硬盘进行修改的时候,总免不了需要查找相关命令,索性借着这次重建内网 YUM 源的机会捋一捋。
查看
在对磁盘进行操作之前,需查看当前的分区表类型和磁盘路径,在 CentOS 7 中,常用的分区工具主要是fdisk
和parted
,前者仅支持 MBR 分区表,后者同时支持 MBR 和 GPT 分区表,因此下面均以 parted 为例:
# parted -l 和 fdisk -l 的命令类似$ parted -l
Model: Virtio Block Device (virtblk)Disk /dev/vda: 42.9GBSector size (logical/physical): 512B/512BPartition Table: msdosDisk Flags:
Number Start End Size Type File system 标志 1 1049kB 42.9GB 42.9GB primary ext4 启动
Model: Virtio Block Device (virtblk)Disk /dev/vdb: 215GBSector size (logical/physical): 512B/512BPartition Table: msdosDisk Flags:
上面显示当前两块硬盘的分区表(Partition Table)类型均为 msdos
,即 MBR(如果用 fdisk -l 则会显示 dos
,其实指的都是 MBR),磁盘的大小和路径为:
- /dev/vda: 42.9GB
- /dev/vdb: 215GB(未挂载)
此外 lsblk
命令可以以树状列出当前系统磁盘的信息:
$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTvda 253:0 0 40G 0 disk└─vda1 253:1 0 40G 0 part /vdb 253:16 0 200G 0 disk
新建
首先建立分区:
# 设定分区表格式为 gpt,MBR 使用 msdosparted /dev/vdb mklabel gpt# 用所有空间建立主分区(扩展分区使用 entended)parted /dev/vdb mkpart primary 0% 100%# 查看当前分区parted /dev/vdb print
# 使用 rm 参数可删除指定分区parted /dev/vdb rm 1
在定义分区范围时,除了使用 % 之外,还可以使用 K、M、G、T 等单位。
格式化
接下来可以对分区进行格式化:
# 用 mkfs 命令进行格式化操作mkfs.ext4 /dev/vdb1
其实执行mkfs -t ext4
时,运行的是mkfs.ext4
,两者的效果是一致的。
注:除了ext4
格式外,另一个用的比较多的是 xfs
。
挂载
格式化完成后,进行挂载:
# 挂载之前先建立可以挂载的目录mkdir /mirror# 挂载建立的分区 vdb1 到 mirror 目录mount /dev/vdb1 /mirror
现在看lsblk
命令的结果可以发现已经能正确的显示挂载信息:
$ lsblkNAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTvda 253:0 0 40G 0 disk└─vda1 253:1 0 40G 0 part /vdb 253:16 0 200G 0 disk└─vdb1 253:17 0 200G 0 part /mirror
最后还需添加信息到文件fstab
中,不然每次重启都需要手动挂载一次:
echo "/dev/vdb1 /mirror ext4 defaults 0 0" >> /etc/fstab
注:/dev/vdb1 最好使用对应的 UUID 代替(blkid
命令可查看对应分区的 UUID)。