用gdisk调整gpt/ext4分区大小主机: CentOS release 6.4 (Final)
目的:从/home分区分出100G来创建新分区/vm
参考:
http://ryanclouser.com/?p=66
http://falstaff.agner.ch/2013/12/22/online-resize-root-filesystem-on-a-gpt-partition/
http://blog.zepsikopat.net/2011/07/22/resize-an-ext4-partition-on-a-gpt-disk/
http://superuser.com/questions/660309/live-resize-of-a-gpt-partition-on-linux
1. 查看当前分区情况
[root@tanghuimin/]# df -Th
Filesystem Type Size Used Avail Use% Mounted on
/dev/sda3 ext4 9.7G 6.6G 2.6G 72% /
tmpfs tmpfs 1.8G 280K 1.8G 1% /dev/shm
/dev/sda1 ext4 426G 37G 368G 10% /home
/dev/sda2 ext4 20G 4.2G 15G 23% /opt
/home分区在/dev/sda1.
2. gdisk /dev/sda
?: 打印gdisk下命令的用法
p: 查看分区表
b:备份分区表,以便后面操作失误可以恢复分区表
[root@tanghuimin~]# gdisk /dev/sda
GPT fdisk (gdisk) version 0.8.10
Partition table scan:
MBR: PRotective
BSD: not present
APM: not present
GPT: present
Found valid GPT with protective MBR; using GPT.
Command (?for help): ?
bback up GPT data to a file
cchange a partition's name
ddelete a partition
ishow detailed information on a partition
llist known partition types
nadd a new partition
ocreate a new empty GUID partition table (GPT)
pprint the partition table
QQuit without saving changes
rrecovery and transformation options (experts only)
ssort partitions
tchange a partition's type code
vverify disk
wwrite table to disk and exit
xextra functionality (experts only)
?print this menu
Command (?for help): p
Disk /dev/sda: 976773168 sectors, 465.8 GiB
Logical sector size: 512 bytes
Disk identifier (GUID): FB42D8BC-9B54-4B3B-A16C-A39A39B902FF
Partition table holds up to 128 entries
First usable sector is 34, last usable sector is 976773134
Partitions will be aligned on 2048-sector boundaries
Total free space is 2029 sectors (1014.5 KiB)
Number Start (sector) End (sector) Size Code Name
1 2048 907141119 432.6 GiB 0700
2 907141120 948101119 19.5 GiB 0700
3 948101120 968581119 9.8 GiB EF00
4 968581120 976773119 3.9 GiB 8200
Command (?for help): b
Enter backup filename to save: /root/gpt.sda.bak
The Operation has completed successfully.
3. 卸载即将被调整的分区/home
[root@tanghuimin~]# umount /home/
[root@tanghuimin ~]# df -Th
Filesystem Type Size Used Avail Use% Mounted on
/dev/sda3 ext4 9.7G 6.6G 2.6G 72% /
tmpfs tmpfs 1.8G 296K 1.8G 1% /dev/shm
/dev/sda2 ext4 20G 4.2G 15G 23% /opt
4. 检测文件系统错误
[root@tanghuimin~]# e2fsck -f /dev/sda1
e2fsck 1.41.12 (17-May-2010)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
/dev/sda1: 268432/28352512 files (0.1% non-contiguous),11359488/113392384 blocks
5. 用resize2fs调整文件系统大小
[root@tanghuimin~]# resize2fs /dev/sda1 326G
resize2fs 1.41.12 (17-May-2010)
Resizing the filesystem on /dev/sda1 to 85458944 (4k) blocks.
The filesystem on /dev/sda1 is now 85458944 blocks long.
6. 用gdisk调整分区大小,先用d删除分区,后用n创建分区
[root@tanghuimin ~]# gdisk /dev/sda
GPT fdisk (gdisk) version 0.8.10
Partition table scan:
MBR: protective
BSD: not present
APM: not present
GPT: present
Found valid GPT with protective MBR; using GPT.
Command (? for help): p
Disk /dev/sda: 976773168 sectors, 465.8 GiB
Logical sector size: 512 bytes
Disk identifier (GUID): FB42D8BC-9B54-4B3B-A16C-A39A39B902FF
Partition table holds up to 128 entries
First usable sector is 34, last usable sector is 976773134
Partitions will be aligned on 2048-sector boundaries
Total free space is 2029 sectors (1014.5 KiB)
Number Start (sector) End (sector) Size Code Name
1 2048 907141119 432.6 GiB 0700
2 907141120 948101119 19.5 GiB 0700
3 948101120 968581119 9.8 GiB EF00
4 968581120 976773119 3.9 GiB 8200
Command (?for help): d
Partition number (1-4): 1
Command (? for help): p
Disk /dev/sda: 976773168 sectors, 465.8 GiB
Logical sector size: 512 bytes
Disk identifier (GUID): FB42D8BC-9B54-4B3B-A16C-A39A39B902FF
Partition table holds up to 128 entries
First usable sector is 34, last usable sector is 976773134
Partitions will be aligned on 2048-sector boundaries
Total free space is 907141101 sectors (432.6 GiB)
Number Start (sector) End (sector) Size Code Name
2 907141120 948101119 19.5 GiB 0700
3 948101120 968581119 9.8 GiB EF00
4 968581120 976773119 3.9 GiB 8200
Command (?for help): n
Partition number (1-128, default 1):
First sector (34-976773134, default = 2048) or {+-}size{KMGTP}:
Last sector (2048-907141119, default = 907141119) or{+-}size{KMGTP}: 326G
Current type is 'Linux filesystem'
Hex code or GUID (L to show codes, Enter = 8300):
Changed type of partition to 'Linux filesystem'
Command(? for help): w
Final checks complete. About to write GPT data. THIS WILLOVERWRITE EXISTING
PARTITIONS!!
Do you want to proceed? (Y/N): y
OK; writing new GUID partition table (GPT) to /dev/sda.
Warning: The kernel is still using the old partition table.
The new table will be used at the next reboot.
The operation has completed successfully.
分区大小调整完毕。
7. 将/dev/sda1挂载到/home
[root@tanghuimin ~]# df -Th
Filesystem Type Size Used Avail Use% Mounted on
/dev/sda3 ext4 9.7G 6.6G 2.6G 72% /
tmpfs tmpfs 1.8G 296K 1.8G 1% /dev/shm
/dev/sda2 ext4 20G 4.2G 15G 23% /opt
[root@tanghuimin~]# mount /dev/sda1 /home/
[root@tanghuimin ~]# df -Th
Filesystem Type Size Used Avail Use% Mounted on
/dev/sda3 ext4 9.7G 6.6G 2.6G 72% /
tmpfs tmpfs 1.8G 296K 1.8G 1% /dev/shm
/dev/sda2 ext4 20G 4.2G 15G 23% /opt
/dev/sda1 ext4 321G 37G 269G 12% /home
reboot.
8. 在/dev/sda所有free的空间上创建新分区
[root@tanghuimin ~]# gdisk /dev/sda
GPT fdisk (gdisk) version 0.8.10
Partition table scan:
MBR: protective
BSD: not present
APM: not present
GPT: present
Found valid GPT with protective MBR; using GPT.
Command (? for help): p
Disk /dev/sda: 976773168 sectors, 465.8 GiB
Logical sector size: 512 bytes
Disk identifier (GUID): FB42D8BC-9B54-4B3B-A16C-A39A39B902FF
Partition table holds up to 128 entries
First usable sector is 34, last usable sector is 976773134
Partitions will be aligned on 2048-sector boundaries
Total free space is 221374444 sectors (105.6 GiB)
Number Start (sector) End (sector) Size Code Name
1 2048 685768704 327.0 GiB 8300 Linuxfilesystem
2 907141120 948101119 19.5 GiB 0700
3 948101120 968581119 9.8 GiB EF00
4 968581120 976773119 3.9 GiB 8200
Command (?for help): n
Partition number (5-128, default 5):
First sector (34-976773134, default = 685770752) or{+-}size{KMGTP}:
Last sector (685770752-907141119, default = 907141119) or{+-}size{KMGTP}:
Current type is 'Linux filesystem'
Hex code or GUID (L to show codes, Enter = 8300):
Changed type of partition to 'Linux filesystem'
Command (?for help): w
Final checks complete. About to write GPT data. THIS WILLOVERWRITE EXISTING
PARTITIONS!!
Do you want to proceed? (Y/N): y
OK; writing new GUID partition table (GPT) to /dev/sda.
Warning: The kernel is still using the old partition table.
The new table will be used at the next reboot.
The operation has completed successfully.
9. 将新分区的文件系统类型设为ext4
[root@tanghuimin~]# mkfs -t ext4 /dev/sda5
mke2fs 1.41.12 (17-May-2010)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=1 blocks, Stripe width=0 blocks
6922240 inodes, 27671296 blocks
1383564 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=4294967296
845 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632,2654208,
4096000, 7962624, 11239424, 20480000, 23887872
Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done
This filesystem will be automatically checked every 33 mountsor
180 days, whichever comes first. Use tune2fs -c or -i tooverride.
10. 将新分区/dev/sda5挂载到/vm
[root@tanghuimin~]# mount /dev/sda5 /vm
[root@tanghuimin ~]# df -Th
Filesystem Type Size Used Avail Use% Mounted on
/dev/sda3 ext4 9.7G 6.6G 2.6G 72% /
tmpfs tmpfs 1.8G 224K 1.8G 1% /dev/shm
/dev/sda1 ext4 321G 37G 269G 12% /home
/dev/sda2 ext4 20G 4.2G 15G 23% /opt
/dev/sda5 ext4 104G 188M 99G 1% /vm
11.在/etc/fstab中添加如下行,使在系统启动时/dev/sda5被挂载到/vm
/dev/sda5/vmext4defaults12
reboot.