之前在Linux系统挂载文件系统的时候,我已经习惯了使用 fdisk 命令来对磁盘进行分区。fdisk 常用的几个指令有:
m 显示命令帮助菜单;
n 创建新的分区;
p 显示分区信息;
t 修改分区类型(一般设置为8e,即LVM分区);
w 保存设置退出;
d 删除已经创建的分区;
当然,今天我们的主角不是 fdisk ,所以 fdisk 命令的使用我们点到为止。
现在我们来描述一个业务场景,公司领导要求为公司搭建一个公司级的内网网盘,考虑到用户较多,所以在系统盘之外,额外挂载一个 6TB 的磁盘作为网盘的数据存储盘。当然,搭建网盘我自以为已经轻车熟路,于是安装完系统后,做了一些基础的系统配置优化,然后就直接使用 fdisk 命令对挂载的 /dev/sdb 磁盘进行分区,但是创建的 /dev/sdb1 分区竟然只有 2TB。
后面使用 lvcreate 命令来创建逻辑卷,始终提示之前创建好的 VG 的空间不足,甚至我降到 3TB 都还是同样的提示。
后来联网查询,才发现原来 fdisk 只能创建最大 2TB 的磁盘,超过 2TB 的磁盘的分区,就需要使用 parted 命令来创建了。经过测试,确实如此!
下面是 parted 命令执行的过程记录:
[root@vm-xxxxx-ds3dasd21w ~]# parted /dev/sdb
GNU Parted 3.1
使用 /dev/sdb
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) p
Model: VMware Virtual disk (scsi)
Disk /dev/sdb: 6442GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:
Number Start End Size Type File system 标志
(parted) mklabel gpt
警告: The existing disk label on /dev/sdb will be destroyed and all data on this disk will be lost. Do you want to continue?
是/Yes/否/No? y
(parted) mkpart
分区名称? []? sdb1
文件系统类型? [ext2]? xfs
起始点? 2048
结束点? 6440GB
(parted) p
Model: VMware Virtual disk (scsi)
Disk /dev/sdb: 6442GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name 标志
1 2048MB 6440GB 6438GB sdb1
(parted) p
Model: VMware Virtual disk (scsi)
Disk /dev/sdb: 6442GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name 标志
1 2048MB 6440GB 6438GB sdb1
(parted) quit
信息: You may need to update /etc/fstab.
[root@vm-xxxxx-ds3dasd21w ~]# mkfs.xfs -f /dev/sdb1
meta-data=/dev/sdb1 isize=512 agcount=6, agsize=268435455 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0, sparse=0
data = bsize=4096 blocks=1571765760, imaxpct=5
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal log bsize=4096 blocks=521728, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
[root@vm-xxxxx-ds3dasd21w ~]# mkdir /data
[root@vm-xxxxx-ds3dasd21w ~]# mount /dev/sdb1 /data
最后将mount信息记录到 fstab 并保存退出,整个磁盘的分区、格式化和挂载就结束了。
可以发现,/data目录现在挂载的磁盘的存储空间为 5.9TB(会略小于磁盘实际分配的空间)。
[root@vm-xxxxx-ds3dasd21w ~]# df -h
文件系统 容量 已用 可用 已用% 挂载点
devtmpfs 16G 0 16G 0% /dev
tmpfs 16G 0 16G 0% /dev/shm
tmpfs 16G 9.3M 16G 1% /run
tmpfs 16G 0 16G 0% /sys/fs/cgroup
/dev/mapper/centos-root 88G 4.3G 84G 5% /
/dev/sda1 1014M 212M 803M 21% /boot
/dev/mapper/centos-home 1014M 37M 978M 4% /home
tmpfs 3.2G 0 3.2G 0% /run/user/0
/dev/sdb1 5.9T 33M 5.9T 1% /data
问题成功解决,感觉自己又 get 到一个新的技能!