《云计算》一块硬盘的分区之旅

硬盘分区及格式化

  • fdisk分区工具用来建立msdos分区方案,其交互模式中的主要指令如下:
  • m:列出指令帮助
  • p:查看当前的分区表信息
  • n:新建分区
  • d:删除分区
  • t:更改分区标识
  • q:放弃分区更改并退出
  • w:保存对分区表所做的更改

新建分区表


[root@server0 ~]# fdisk  /dev/vdb
Welcome to fdisk (util-linux 2.23.2).

Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.

Device does not contain a recognized partition table
Building a new DOS disklabel with disk identifier 0x9ac1bc10.

Command (m for help):                         //交互操作提示信息
2)新建第1个分区/dev/vdb1
Command (m for help): n                                  //新建分区
Partition type:
   p   primary (0 primary, 0 extended, 4 free)
   e   extended
Select (default p): p                                 //类型为p(主分区)
Partition number (1-4, default 1): 1                     //分区编号1
First sector (2048-20971519, default 2048):              //起始位置默认
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-20971519, default 20971519): +200M  
Partition 1 of type Linux and of size 200 MiB is set      //结束位置+200MiB大小

Command (m for help): p                                  //确认当前分区表
.. ..
   Device Boot      Start         End      Blocks   Id  System
/dev/vdb1            2048      411647      204800   83  Linux
3)新建第2个分区/dev/vdb2
Command (m for help): n
Partition type:
   p   primary (1 primary, 0 extended, 3 free)
   e   extended
Select (default p): p                                 //类型为p(主分区)
Partition number (2-4, default 2): 2                    //分区编号2
First sector (411648-20971519, default 411648):         //起始位置默认
Using default value 411648
Last sector, +sectors or +size{K,M,G} (411648-20971519, default 20971519): +2000M
Partition 2 of type Linux and of size 2 GiB is set       //结束位置+2000MiB大小

Command (m for help): p                                  //确认当前分区表
.. ..
   Device Boot      Start         End      Blocks   Id  System
/dev/vdb1            2048      411647      204800   83  Linux
/dev/vdb2          411648     4507647     2048000   83  Linux
4)新建第3个分区/dev/vdb3
Command (m for help): n     
Partition type:
   p   primary (2 primary, 0 extended, 2 free)
   e   extended
Select (default p): p
Partition number (3,4, default 3): 3
First sector (4507648-20971519, default 4507648): 
Using default value 4507648
Last sector, +sectors or +size{K,M,G} (4507648-20971519, default 20971519): +1000M
Partition 3 of type Linux and of size 1000 MiB is set

Command (m for help): p                                  //确认当前分区表
.. ..
   Device Boot      Start         End      Blocks   Id  System
/dev/vdb1            2048      411647      204800   83  Linux
/dev/vdb2          411648     4507647     2048000   83  Linux
/dev/vdb3         4507648     6555647     1024000   83  Linux
5)调整分区类型标识(可选)
将/dev/vdb1的类型(默认为83,表示EXT2/3/4分区)修改为8e(LVM设备):
Command (m for help): t                                  //修改分区类型标识
Partition number (1-3, default 3): 1                     //指定第1个分区
Hex code (type L to list all codes): 8e                 //类型改为8e
Changed type of partition 'Linux' to 'Linux LVM'

Command (m for help): p                                  //确认当前分区表
.. ..
   Device Boot      Start         End      Blocks   Id  System
/dev/vdb1            2048      411647      204800   8e  Linux LVM
/dev/vdb2          411648     4507647     2048000   83  Linux
/dev/vdb3         4507648     6555647     1024000   83  Linux

6)保存分区更改,退出fdisk分区工具
Command (m for help): w                                  
//保存并退出
The partition table has been altered!

Calling ioctl() to re-read partition table.
Syncing disks.

6)刷新分区表
[root@server0 ~]# partprobe  /dev/vdb        
 //重新检测磁盘分区
//或者
[root@server0 ~]# reboot                     
//对已使用中磁盘的分区调整,应该重启一次
.. ..

  • 格式化及挂载分区
[root@server0 ~]# mkfs.ext4  /dev/vdb2
.. .. 
Allocating group tables: done  
Writing inode tables: done 
Creating journal (8192 blocks): done
Writing superblocks and filesystem accounting information: done
2)配置开机自动挂载
[root@server0 ~]# vim  /etc/fstab
.. ..
/dev/vdb2       /mnt/part2      ext4    defaults        0 0
3)创建挂载点,并验证挂载配置
[root@server0 ~]# mkdir  /mnt/part2                 //创建挂载点
[root@server0 ~]# mount  -a                         //挂载fstab中的可用设备
[root@server0 ~]# df  -hT  /mnt/part2/                 //检查文档所在的文件系统及设备
Filesystem     Type  Size  Used Avail Use% Mounted on
/dev/vdb2      ext4  1.9G  5.9M  1.8G   1% /mnt/part2
新建一个逻辑卷
  • LVM创建工具的基本用法:

vgcreate 卷组名 物理设备… …
lvcreate -L 大小 -n 逻辑卷名 卷组名

  • 创建卷组
[root@server0 ~]# vgcreate  systemvg  /dev/vdb1
  Physical volume "/dev/vdb1" successfully created
  Volume group "systemvg" successfully created
2)确认结果
[root@server0 ~]# vgscan
  Reading all physical volumes.  This may take a while...
  Found volume group "systemvg" using metadata type lvm2
  • 创建逻辑卷

1)新建名为vo的逻辑卷
[root@server0 ~]# lvcreate  -L  180MiB  -n  vo  systemvg 
  Logical volume "vo" created
2)确认结果
[root@server0 ~]# lvscan
  ACTIVE            '/dev/systemvg/vo' [180.00 MiB] inherit
  • 格式化及挂载使用
[root@server0 ~]# mkfs.ext4  /dev/systemvg/vo
.. ..
Allocating group tables: done 
Writing inode tables: done 
Creating journal (4096 blocks): done
Writing superblocks and filesystem accounting information: done
2)挂载逻辑卷/dev/systemvg/vo
[root@server0 ~]# mkdir  /vo                              //创建挂载点
[root@server0 ~]# mount  /dev/systemvg/vo  /vo             //挂载
[root@server0 ~]# df  -hT  /vo/                         //检查结果
Filesystem              Type  Size  Used Avail Use% Mounted on
/dev/mapper/systemvg-vo ext4  171M  1.6M  157M   1% /vo
3)访问逻辑卷/dev/systemvg/vo
[root@server0 ~]# cat  /vo/votest.txt
I AM KING.
调整现有磁盘的分区
  • 创建卷组时,可以通过-s选项指定PE的大小。
  • 在给新建的逻辑卷分配空间时,空间大小只能是PE大小的倍数。
  • 调整现有磁盘分区
[root@server0 ~]# fdisk  /dev/vdb

Command (m for help): p                                  //确认原有分区表
.. ..
   Device Boot      Start         End      Blocks   Id  System
/dev/vdb1            2048      411647      204800   8e  Linux LVM
/dev/vdb2          411648     4507647     2048000   83  Linux
/dev/vdb3         4507648     6555647     1024000   83  Linux

Command (m for help): n                                 //新建分区
Partition type:
   p   primary (3 primary, 0 extended, 1 free)
   e   extended
Select (default e): e                                 //类型指定为e(扩展分区)
Selected partition 4                                     //只一个可用编号,自动选取
First sector (6555648-20971519, default 6555648):          //起始位置默认
Using default value 6555648
Last sector, +sectors or +size{K,M,G} (6555648-20971519, default 20971519): 
Using default value 20971519                             //结束位置默认
Partition 4 of type Extended and of size 6.9 GiB is set

Command (m for help): p     
.. ..
   Device Boot      Start         End      Blocks   Id  System
/dev/vdb1            2048      411647      204800   8e  Linux LVM
/dev/vdb2          411648     4507647     2048000   83  Linux
/dev/vdb3         4507648     6555647     1024000   83  Linux
/dev/vdb4         6555648    20971519     7207936    5  Extended
  • 在扩展分区中新建3个逻辑分区
Command (m for help): n 
All primary partitions are in use
Adding logical partition 5                              //分区编号5
First sector (6557696-20971519, default 6557696):          //起始位置默认
Using default value 6557696
Last sector, +sectors or +size{K,M,G} (6557696-20971519, default 20971519): +500M
                                                      //结束位置默认
Partition 5 of type Linux and of size 500 MiB is set
创建第2个逻辑卷:
Command (m for help): n
All primary partitions are in use
Adding logical partition 6                              //分区编号6
First sector (7583744-20971519, default 7583744):          //起始位置默认
Using default value 7583744
Last sector, +sectors or +size{K,M,G} (7583744-20971519, default 20971519): +2000M
                                                      //结束位置默认
Partition 6 of type Linux and of size 2 GiB is set
创建第3个逻辑卷:
Command (m for help): n
All primary partitions are in use
Adding logical partition 7                              //分区编号7
First sector (11681792-20971519, default 11681792):      //起始位置默认
Using default value 11681792
Last sector, +sectors or +size{K,M,G} (11681792-20971519, default 20971519): +512M
                                                      //结束位置默认
Partition 7 of type Linux and of size 512 MiB is set
根据预计的用途调整分区类型(可选):
Command (m for help): t                                 //修改
Partition number (1-7, default 7): 5                     //第5个分区
Hex code (type L to list all codes): 8e                 //类型为8e(LVM)
Changed type of partition 'Linux' to 'Linux LVM'

Command (m for help): t                                 //修改
Partition number (1-7, default 7): 6                     //第6个分区
Hex code (type L to list all codes): 8e                 //类型为8e(LVM)
Changed type of partition 'Linux' to 'Linux LVM'

Command (m for help): t                                 //修改
Partition number (1-7, default 7): 7                     //第7个分区
Hex code (type L to list all codes): 82                 //类型为82(交换分区)
Changed type of partition 'Linux' to 'Linux swap / Solaris'
确认分区结果并保存:
Command (m for help): p
.. ..
   Device Boot      Start         End      Blocks   Id  System
/dev/vdb1            2048      411647      204800   8e  Linux LVM
/dev/vdb2          411648     4507647     2048000   83  Linux
/dev/vdb3         4507648     6555647     1024000   83  Linux
/dev/vdb4         6555648    20971519     7207936    5  Extended
/dev/vdb5         6557696     7581695      512000   8e  Linux LVM
/dev/vdb6         7583744    11679743     2048000   8e  Linux LVM
/dev/vdb7        11681792    12730367      524288   82  Linux swap / Solaris

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.                                         //提示重启
  • 刷新分区表

[root@server0 ~]# partprobe /dev/vdb
[root@server0 ~]# reboot

  • 新建卷组、逻辑卷
[root@server0 ~]# vgcreate  -s 16MiB  datastore  /dev/vdb6
  Volume group "datastore" successfully created
[root@server0 ~]# vgscan                                  //确认新建的卷组
  Reading all physical volumes.  This may take a while...
  Found volume group "systemvg" using metadata type lvm2
  Found volume group "datastore" using metadata type lvm2
2)新建逻辑卷database,大小设置为50个PE
[root@server0 ~]# lvcreate  -l 50  -n  database  datastore
  Logical volume "database" created
[root@server0 ~]# lvscan                                  //确认新建的逻辑卷
  ACTIVE            '/dev/systemvg/vo' [180.00 MiB] inherit
  ACTIVE            '/dev/datastore/database' [800.00 MiB] inherit

  • 格式化及使用逻辑卷
[root@server0 ~]# mkfs.ext3  /dev/datastore/database
.. ..
Allocating group tables: done 
Writing inode tables: done 
Creating journal (4096 blocks): done
Writing superblocks and filesystem accounting information: done
2)配置开机挂载
[root@server0 ~]# mkdir  /mnt/database                     //创建挂载点
[root@server0 ~]# vim  /etc/fstab
.. ..
/dev/datastore/database         /mnt/database   ext3    defaults    0 0
3)验证挂载配置
[root@server0 ~]# mount  -a
[root@server0 ~]# df  -hT  /mnt/database/                 //确认挂载点设备
Filesystem                     Type  Size  Used Avail Use% Mounted on
/dev/mapper/datastore-database ext3  772M  828K  715M   1% /mnt/database
扩展逻辑卷的大小
  • 确认逻辑卷vo的信息
[root@server0 ~]# lvscan
  ACTIVE            '/dev/systemvg/vo' [180.00 MiB] inherit
  ACTIVE            '/dev/datastore/database' [800.00 MiB] inherit
2)查看该卷组的剩余空间是否可满足扩展需要
[root@server0 ~]# vgdisplay  systemvg
  --- Volume group ---
  VG Name               systemvg
  System ID             
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  2
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                1
  Open LV               0
  Max PV                0
  Cur PV                1
  Act PV                1
  VG Size               196.00 MiB                          //卷组总大小
  PE Size               4.00 MiB
  Total PE              49
  Alloc PE / Size       45 / 180.00 MiB
  Free  PE / Size       4 / 16.00 MiB                      //剩余空间大小
  VG UUID               czp8IJ-jihS-Ddoh-ny38-j521-5X8J-gqQfUN
//此例中卷组systemvg的总大小都不够300MiB、剩余空间才16MiB,因此必须先扩展卷组。只有剩余空间足够,才可以直接扩展逻辑卷大小。
  • 扩展卷组
1)将提前准备的分区/dev/vdb5添加到卷组systemvg
[root@server0 ~]# vgextend  systemvg  /dev/vdb5
  Physical volume "/dev/vdb5" successfully created
  Volume group "systemvg" successfully extended
2)确认卷组新的大小
[root@server0 ~]# vgdisplay  systemvg
  --- Volume group ---
  VG Name               systemvg
  .. ..
  VG Size               692.00 MiB                          //总大小已变大
  PE Size               4.00 MiB
  Total PE              173
  Alloc PE / Size       45 / 180.00 MiB
  Free  PE / Size       128 / 512.00 MiB                  //剩余空间已达512MiB
  VG UUID               czp8IJ-jihS-Ddoh-ny38-j521-5X8J-gqQfUN
  • 扩展逻辑卷大小
1)将逻辑卷/dev/systemvg/vo的大小调整为300MiB
[root@server0 ~]# lvextend  -L 300MiB  /dev/systemvg/vo 
  Extending logical volume vo to 300.00 MiB
  Logical volume vo successfully resized
2)确认调整结果
[root@server0 ~]# lvscan
  ACTIVE            '/dev/systemvg/vo' [300.00 MiB] inherit
  ACTIVE            '/dev/datastore/database' [800.00 MiB] inherit
3)刷新文件系统大小
确认逻辑卷vo上的文件系统类型:
[root@server0 ~]# blkid  /dev/systemvg/vo
/dev/systemvg/vo: UUID="d4038749-74c3-4963-a267-94675082a48a" TYPE="ext4"
选择合适的工具刷新大小:
[root@server0 ~]# resize2fs  /dev/systemvg/vo 
resize2fs 1.42.9 (28-Dec-2013)
Resizing the filesystem on /dev/systemvg/vo to 307200 (1k) blocks.
The filesystem on /dev/systemvg/vo is now 307200 blocks long.
确认新大小(约等于300MiB):
[root@server0 ~]# mount  /dev/systemvg/vo  /vo/
[root@server0 ~]# df  -hT  /vo
Filesystem              Type  Size  Used Avail Use% Mounted on
/dev/mapper/systemvg-vo ext4  287M  2.1M  266M   1% /vo

猜你喜欢

转载自blog.csdn.net/xie_qi_chao/article/details/88973946