parted的基本操作
输入parted命令,进入parted管理界面,如果没有指定硬盘,parted命令会默认选择第一个硬盘为当前操作硬盘。
[root@a ~]# parted
GNU Parted 1.8.1
使用 /dev/hda
Welcome to GNU Parted! Type 'help' to view a list of commands.
输入help查看可进行的操作
(parted) help
check NUMBER do a simple check on the file system
cp [FROM-DEVICE] FROM-NUMBER TO-NUMBER copy file system to another partition
help [COMMAND] prints general help, or help on COMMAND
mklabel,mktable LABEL-TYPE create a new disklabel (partition table)
mkfs NUMBER FS-TYPE make a FS-TYPE file system on partititon NUMBER
mkpart PART-TYPE [FS-TYPE] START END make a partition
mkpartfs PART-TYPE FS-TYPE START END make a partition with a file system
move NUMBER START END move partition NUMBER
name NUMBER NAME name partition NUMBER as NAME
print [free|NUMBER|all] display the partition table, a partition, or all devices
quit exit program
rescue START END rescue a lost partition near START and END
resize NUMBER START END resize partition NUMBER and its file system
rm NUMBER delete partition NUMBER
select DEVICE choose the device to edit
set NUMBER FLAG STATE change the FLAG on partition NUMBER
toggle [NUMBER [FLAG]] toggle the state of FLAG on partition NUMBER
unit UNIT set the default unit to UNIT
version displays the current version of GNU Parted and copyright
information
(parted)
选择/dev/sdb硬盘进行操作
(parted) select /dev/sdb
使用 /dev/sdb
输入print查看当前磁盘分区情况
(parted) print
Model: VMware, VMware Virtual S (scsi)
Disk /dev/sdb: 3221MB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Number Start End Size Type File system 标志
1 32.3kB 823MB 822MB 主分区 ext2
2 823MB 1028MB 206MB 主分区
3 1028MB 3216MB 2188MB 扩展分区
5 1028MB 1439MB 411MB 逻辑分区
6 1439MB 3216MB 1777MB 逻辑分区 ext3
parted实验:
这里我们想减少主分区1的容量到500M,然后再将主分区2合并到主分区1中,并且主分区1的数据保持不变
在这个环境中我们已经将/dev/sdb1挂载到/oracle目录上,因此首先要将主分区从系统中卸载
[root@a ~]# umount /oracle/
调整主分区1的容量从822M到500M
(parted) resize 1
起始点? [32.3kB]?
结束点? [823MB]? 500M
(parted)
删除分区2,将分区2的空间加入到分区1。
首先删除分区2
(parted) rm 2
查看删除后的分区情况
(parted) print
Model: VMware, VMware Virtual S (scsi)
Disk /dev/sdb: 3221MB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Number Start End Size Type File system 标志
1 32.3kB 500MB 500MB 主分区 ext2
3 1028MB 3216MB 2188MB 扩展分区
5 1028MB 1439MB 411MB 逻辑分区
6 1439MB 3216MB 1777MB 逻辑分区 ext3
调整分区1的容量,将分区2释放的空间划入分区1
(parted) resize 1
起始点? [32.3kB]?
结束点? [500MB]? 1027M
确认分区调整成功
(parted) print
Model: VMware, VMware Virtual S (scsi)
Disk /dev/sdb: 3221MB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Number Start End Size Type File system 标志
1 32.3kB 1027MB 1027MB 主分区 ext2
3 1028MB 3216MB 2188MB 扩展分区
5 1028MB 1439MB 411MB 逻辑分区
6 1439MB 3216MB 1777MB 逻辑分区 ext3
parted命令为大于2T硬盘分区
一般来说我们对磁盘分区都是用fdisk命令,但是对于硬盘容量大于2T时,这个命令就不管用了,因为MBR分区表只支持2T磁盘;所以大于2T的磁盘必须使用GPT分区表,这时我们就需要用到parted命令。
一、分区
# parted /dev/sdb #使用parted来对GPT磁盘操作,进入交互式模式
(parted) mklabel gpt # 将MBR磁盘格式化为GPT
(parted) mkpart primary ext4 0% 100% 将所有容量分为一个主分区
(parted) p #打印当前分区
(parted) q #退出
二、格式化
# mkfs.ext4 /dev/sdb1
三、挂载分区
mount -t ext4 /dev/sdb1 /cache1 #挂载在cache1上
df -h #查看分区后结果
四、开机自启
修改/etc/fstab文件,添加下面代码
/dev/sdb1 /cache1 ext4 defaults,noatime 1 2
FAQ:
1、Warning: The resulting partition is not properly aligned for best performance.
在第一步设置分区容量时,一开始用mkpart primary 0 4TB命令,不管数字怎么组合,都会提示Warning,原因是parted是通过扇区来区分的,如果强制输入数字就会提示告警不是最优方案。于是我们就使用%比的形势,测试正常通过
(parted) mkpart primary ext4 0% 100
在Linux系统中挂载SCSI盘阵,且分区大小超过2TB时,无法使用mk2fs命令进行格式化,而在使用mkfs.ext3命令格式化时,需要增加-T largefile参数,否则格式化过程将非常缓慢,对于添加一个10TB的存储,如果linux下直接格式化是一个很漫长的过程,10TB,估计少了30小时是完不成的。
[root@server ~]# mkfs.ext3 -T largefile /dev/sdb1
[root@server ~]# e2label /dev/sdb1 /data1 //对/dev/sdb1添加(修改)标签为/data1
[root@server ~]# e2label /dev/sdb1 //查看分区的标签
/data1
[root@server ~]# mkdir /data1 //在/分区下创建一个配额的挂载点
[root@server ~]# mount /dev/sdb1 /data1 //对该分区进行手动挂载
这样分区完成并挂载成功,用df –h就可以看到该磁盘的大小
[root@server ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 20G 3.9G 15G 22% /
/dev/sda1 122M 12M 104M 10% /boot
tmpfs 62M 0 62M 0% /dev/shm
/dev/sdb1 2.0T 199M 1.9T 1% /data1
最后只需在fstab中添加如下一行,就能完成分区的自动挂载
[root@server ~]# vi /etc/fstab
/dev/sdb1 /data1 ext3 defaults 0 0
案例分析:
[root@RH6 ~]# fdisk -l
Disk /dev/sdd doesn‘t contain a valid partition table
Disk /dev/dm-0: 30.1 GB, 30098325504 bytes
255 heads, 63 sectors/track, 3659 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000
对磁盘分区:
[root@RH6 ~]# parted /dev/sdd
GNU Parted 2.1
Using /dev/sdd
Welcome to GNU Parted! Type ‘help‘ to view a list of commands.
(parted) help
align-check TYPE N check partition N for TYPE(min|opt) alignment
check NUMBER do a simple check on the file system
cp [FROM-DEVICE] FROM-NUMBER TO-NUMBER copy file system to another partition
help [COMMAND] print general help, or help on COMMAND
mklabel,mktable LABEL-TYPE create a new disklabel (partition table)
mkfs NUMBER FS-TYPE make a FS-TYPE file system on partition NUMBER
mkpart PART-TYPE [FS-TYPE] START END make a partition
mkpartfs PART-TYPE FS-TYPE START END make a partition with a file system
move NUMBER START END move partition NUMBER
name NUMBER NAME name partition NUMBER as NAME
print [devices|free|list,all|NUMBER] display the partition table, available devices, free space, all
found partitions, or a particular partition
quit exit program
rescue START END rescue a lost partition near START and END
resize NUMBER START END resize partition NUMBER and its file system
rm NUMBER delete partition NUMBER
select DEVICE choose the device to edit
set NUMBER FLAG STATE change the FLAG on partition NUMBER
toggle [NUMBER [FLAG]] toggle the state of FLAG on partition NUMBER
unit UNIT set the default unit to UNIT
version display the version number and copyright information of GNU
Parted
(parted) select
New device? [/dev/sdd]?
Using /dev/sdd
(parted) mklabel gpt
(parted) print
Model: ATA VBOX HARDDISK (scsi)
Disk /dev/sdd: 21.5GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Number Start End Size File system Name Flags
(parted) mkpart primary 0 10240 //建立从0M开始的10g的分区
Warning: The resulting partition is not properly aligned for best performance.
Ignore/Cancel? i
(parted) print
Model: ATA VBOX HARDDISK (scsi)
Disk /dev/sdd: 21.5GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Number Start End Size File system Name Flags
1 17.4kB 10.2GB 10.2GB primary
(parted) mkpart primary 10240 -1 //建立从10g开始,剩下所有的空间都建立分区
(parted) p
Model: ATA VBOX HARDDISK (scsi)
Disk /dev/sdd: 21.5GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Number Start End Size File system Name Flags
1 17.4kB 10.2GB 10.2GB primary
2 10.2GB 21.5GB 11.2GB primary
(parted) quit
Information: You may need to update /etc/fstab.
对分区进行格式化:
[root@RH6 ~]# mkfs.ext3 -T largefile /dev/sdd1
mke2fs 1.41.12 (17-May-2010)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
9856 inodes, 2499995 blocks
124999 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=2562719744
77 block groups
32768 blocks per group, 32768 fragments per group
128 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632
Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done
This filesystem will be automatically checked every 31 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.
[root@RH6 ~]# mkfs.ext3 -T largefile /dev/sdd2
mke2fs 1.41.12 (17-May-2010)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
10752 inodes, 2742528 blocks
137126 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=2810183680
84 block groups
32768 blocks per group, 32768 fragments per group
128 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208
Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done
This filesystem will be automatically checked every 32 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.
mount分区:
[root@RH6 ~]# mkdir /gpt1 /gpt2
[root@RH6 ~]# mount /dev/sdd1 /gpt1
[root@RH6 ~]# mount /dev/sdd2 /gpt2
[root@RH6 ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vg_rh6-lv_root
28G 20G 6.5G 76% /
tmpfs 590M 88K 590M 1% /dev/shm
/dev/sda1 485M 28M 432M 7% /boot
/dev/mapper/oravg-lv_data1
9.9G 2.9G 6.5G 31% /dsk1
/dev/mapper/oravg-lv_data2
9.9G 312M 9.1G 4% /dsk2
/dev/mapper/oravg-lv_data3
9.9G 151M 9.2G 2% /dsk3
/dev/mapper/oravg-lv_data4
11G 3.0G 6.8G 31% /dsk4
/dev/mapper/datavg-lv_dat1
9.9G 151M 9.2G 2% /dsk5
/dev/mapper/datavg-lv_dat2
7.9G 146M 7.4G 2% /dsk6
/dev/sdd1 9.6G 150M 9.0G 2% /gpt1
/dev/sdd2 11G 155M 9.8G 2% /gpt2
[root@RH6 ~]#