使用parted格式化大容量数据盘
注意:如果分区所在设备已经挂载,要先卸载并删掉现有系统。
一、数据盘超过2TB
1、使用fdisk –l命令,查看磁盘设备列表
fdisk –l
Disk /dev/vdb: 4295.0 GB
2、使用parted工具,创建GPT分区
parted /dev/vdb
(parted) mklabel gpt
(parted) print
(parted) mkpart primary 0 4295GB
(parted) print
(parted) quit
3、分区创建完成后,可以使用fdisk –l查看到新分区信息
fdisk –l
4、使用mkfs工具格式化分区
mkfs.ext4 -T largefile /dev/vdb1
5、格式化完成后,使用mount命令挂载新分区,此时使用df –h命令可以查看到磁盘剩余容量
mount -t ext4 /dev/vdb1 /data
6、修改fstab文件,设置系统重启时自动挂载新分区,加入最后一行内容
vim /etc/fstab
/dev/vdb1 /data ext4 defaults 0 0
二、数据盘超过16TB
1、yum install xfsprogs parted -y
2、使用parted
# parted /dev/sdb
(parted) mklabel GPT
(parted) mkpart primary 0 -1(-1表示磁盘结束,或者用:100%,或者是具体的大小,默认的单位是MB)
(parted) print
(parted) quit
3、格式化分区
# mkfs.xfs -i size=512 /dev/sdb1
4、挂载
# blkid /dev/sdb1
/dev/sdb1: UUID="4030eff4-ecf3-40f3-999c-cd00995fae4b" TYPE="xfs"
# echo 'UUID=4030eff4-ecf3-40f3-999c-cd00995fae4b /data xfs defaults 0 0' >>/etc/fstab
# mount /dev/sdb1 /data
最后2位,建议使用0和0,涉及到dump和fsck定期对磁盘的检查策略,如果磁盘非常大,则在重启或者开机时,会遇到异常。
0表示不启用检查。
或者,直接使用lvm分区:
如果分区所在设备已经挂载,要先卸载并删掉现有系统。
yum install lvm2 xfsprogs -y
pvcreate /dev/sdb
vgcreate vg0 /dev/sdb
lvcreate -l 100%FREE -n lv01 vg0
mkfs.xfs -f -i size=512 /dev/vg0/lv01
mkdir /data
cat <<_eof>>/etc/fstab
UUID=$(blkid /dev/vg0/lv01 |cut -d'"' -f2) /data xfs defaults 0 0
_EOF
mount -a
# df -h |grep data
/dev/mapper/vg0-lv01 16T 33M 16T 1% /data
三、分区操作排错
【fdisk】
Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
WARNING: Re-reading the partition table failed with error 16: Device or resource busy.
The kernel still uses the old table. The new table will be used at
the next reboot or after you run partprobe(8) or kpartx(8)
Syncing disks.
【parted】
(parted) mklabel GPT
Warning: WARNING: the kernel failed to re-read the partition table on /dev/sdb (Device or resource busy). As a result, it may not reflect all of your changes until after reboot.
上述情况可能原因:
/dev/sdb 正在使用中
# df -h |grep sdb
/dev/sdb1 16T 129M 15T 1% /data
卸载后再操作
# umount /data
# fdisk /dev/sdb
Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.
# pvcreate /dev/sdb
Physical volume "/dev/sdb" successfully created
# ls /dev/sdb -l
brw-rw---- 1 root disk 8, 16 Sep 16 18:26 /dev/sdb
# pvdisplay
"/dev/sdb" is a new physical volume of "36.38 TiB"
--- NEW Physical volume ---
PV Name /dev/sdb
VG Name
PV Size 36.38 TiB
Allocatable NO
PE Size 0
Total PE 0
Free PE 0
Allocated PE 0
PV UUID 3uwuGI-FCdw-gXnJ-kbDk-FnVT-cskO-Fp7o49