使用parted格式化大容量数据盘


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
注意:如果分区所在设备已经挂载,要先卸载并删掉现有系统。
 
一、数据盘超过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