**************操作之前请看章节6,看系统是否支持LVM分区管理方式***************
1:新增磁盘
插入新的磁盘,比如物理机可以直接在卡槽插入,虚拟机可以在控制台添加磁盘或者扩充磁盘,如下图所示
2:查找新插入的磁盘名称
插入磁盘操作执行完以后,可以执行fdisk -l查看新磁盘的名称,如下面的文字所示,有一个1G的磁盘未分区,磁盘sda已分区,如下图所示/dev/sda1,/dev/sda2,/dev/sda3,/dev/sda4,/dev/sda5
---------------------------------------------------------------------------------------------------------------------------------
Disk /dev/sda: 40 GiB, 42949672960 bytes, 83886080 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x08eecc1c
Device Boot Start End Sectors Size Id Type
/dev/sda1 * 2048 999423 997376 487M 83 Linux
/dev/sda2 1001470 41940991 40939522 19.5G 5 Extended
/dev/sda3 999424 1001469 2046 1023K 83 Linux
/dev/sda4 41940992 83886079 41945088 20G 83 Linux
/dev/sda5 1001472 41940991 40939520 19.5G 8e Linux LVM
Partition table entries are not in disk order.
Disk /dev/sdb: 1 GiB, 1073741824 bytes, 2097152 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
由上面的操作可以看出,新的磁盘名称是/dev/sdb
3:对新增磁盘进行分区
登录系统,执行fdisk 新添加的磁盘名称,我这里新增加的磁盘是/dev/sdb
root@kingserver10:~# fdisk /dev/sdb
下面来到fdisk的分区工具的操作界面,会有一个过程
Welcome to fdisk (util-linux 2.27.1).
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.
Created a new DOS disklabel with disk identifier 0x565ca282.
Command (m for help): p
Disk /dev/sdb: 1 GiB, 1073741824 bytes, 2097152 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x565ca282
Command (m for help): n
Partition type
p primary (0 primary, 0 extended, 4 free)
e extended (container for logical partitions)
Select (default p): p
Partition number (1-4, default 1):
First sector (2048-2097151, default 2048):
Last sector, +sectors or +size{K,M,G,T,P} (2048-2097151, default 2097151):
Created a new partition 1 of type 'Linux' and of size 1023 MiB.
Command (m for help): w
The partition table has been altered.
Calling ioctl() to re-read partition table.
Syncing disks.
上面对新增磁盘分区的操作,下面查看一下分区是否成功,可以看到在sdb盘多了一个/dev/sdb1的分区,说明分区成功
root@kingserver10:~# fdisk -l
Disk /dev/sda: 40 GiB, 42949672960 bytes, 83886080 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x08eecc1c
Device Boot Start End Sectors Size Id Type
/dev/sda1 * 2048 999423 997376 487M 83 Linux
/dev/sda2 1001470 41940991 40939522 19.5G 5 Extended
/dev/sda3 999424 1001469 2046 1023K 83 Linux
/dev/sda4 41940992 83886079 41945088 20G 83 Linux
/dev/sda5 1001472 41940991 40939520 19.5G 8e Linux LVM
Partition table entries are not in disk order.
Disk /dev/sdb: 1 GiB, 1073741824 bytes, 2097152 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x565ca282
Device Boot Start End Sectors Size Id Type
/dev/sdb1 2048 2097151 2095104 1023M 83 Linux
Disk /dev/mapper/kingserver8--vg-root: 30.5 GiB, 32770097152 bytes, 64004096 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk /dev/mapper/kingserver8--vg-swap_1: 8 GiB, 8589934592 bytes, 16777216 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
4:扩展文件分区
4.1:将新增物理硬盘分区初始化为物理卷
pvcreate命令用于将物理硬盘分区初始化为物理卷,以便LVM使用。
root@kingserver10:~# pvcreate /dev/sdb1
Physical volume "/dev/sdb1" successfully created
4.2:查看VG NAME
root@kingserver10:~# vgdisplay
--- Volume group ---
VG Name kingserver8-vg
System ID
Format lvm2
Metadata Areas 2
Metadata Sequence No 5
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 2
Open LV 2
Max PV 0
Cur PV 2
Act PV 2
VG Size 39.52 GiB
PE Size 4.00 MiB
Total PE 10117
Alloc PE / Size 9861 / 38.52 GiB
Free PE / Size 256 / 1.00 GiB
VG UUID kBq0j1-qE2e-O1Ap-CURx-krhU-ydKi-lOZA4d
4.3:扩展VG
语法:vgextend vg-name 新增的要扩展的物理卷名称
root@kingserver10:~# vgextend kingserver8-vg /dev/sdb1
Volume group "kingserver8-vg" successfully extended
4.4:查看 LV Path
要扩展的LV Path对应的是 root对应的LV Path,而不是swap对应的LV Path
root@kingserver10:~# lvdisplay
--- Logical volume ---
LV Path /dev/kingserver8-vg/root
LV Name root
VG Name kingserver8-vg
LV UUID 19Bpd4-Yhe8-ZgEI-kQaD-oKav-n5O4-HXakw2
LV Write Access read/write
LV Creation host, time kingserver8, 2017-12-07 18:21:36 +0800
LV Status available
# open 1
LV Size 30.52 GiB
Current LE 7813
Segments 2
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 252:0
--- Logical volume ---
LV Path /dev/kingserver8-vg/swap_1
LV Name swap_1
VG Name kingserver8-vg
LV UUID xnTj8x-BcQd-24mH-gqZJ-v9Oa-bRm0-33x26V
LV Write Access read/write
LV Creation host, time kingserver8, 2017-12-07 18:21:37 +0800
LV Status available
# open 2
LV Size 8.00 GiB
Current LE 2048
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 252:1
4.5:扩展LV Path
语法:lvextend –L +新增的要扩展的物理卷大小 root目录的LV-Path
root@kingserver10:~# lvextend -L +1G /dev/kingserver8-vg/root
Size of logical volume kingserver8-vg/root changed from 30.52 GiB (7813 extents) to 31.52 GiB (8069 extents).
Logical volume root successfully resized.
4.6:重置主分区的大小
root@kingserver10:~# resize2fs /dev/kingserver8-vg/root
resize2fs 1.42.13 (17-May-2015)
Filesystem at /dev/kingserver8-vg/root is mounted on /; on-line resizing required
old_desc_blocks = 2, new_desc_blocks = 2
The filesystem on /dev/kingserver8-vg/root is now 8262656 (4k) blocks long.
5:查看扩展后的文件系统
发现原来的/dev/mapper/kingserver8--vg-root从30G变为了31G说明扩展成功
root@kingserver10:~# df -h
Filesystem Size Used Avail Use% Mounted on
udev 3.9G 0 3.9G 0% /dev
tmpfs 797M 9.0M 788M 2% /run
/dev/mapper/kingserver8--vg-root 31G 18G 12G 61% /
tmpfs 3.9G 0 3.9G 0% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 3.9G 0 3.9G 0% /sys/fs/cgroup
/dev/sda1 472M 57M 391M 13% /boot
cgmfs 100K 0 100K 0% /run/cgmanager/fs
tmpfs 797M 0 797M 0% /run/user/0
root@kingserver10:~#
6:操作的可行性(LVM)
需要注意的是,并不是所有的磁盘都可以扩展,安装的时候需要支持LVM,LVM是什么?
如下:总之一句话,支持了LVM之后,新增加一个磁盘,就可以用来扩充文件分区的目录了;
LVM是逻辑盘卷管理(LogicalVolumeManager)的简称,它是Linux环境下对磁盘分区进行管理的一种机制,LVM是建立在硬盘和 分区之上的一个逻辑层,来提高磁盘分区管理的灵活性。通过LVM系统管理员可以轻松管理磁盘分区,如:将若干个磁盘分区连接为一个整块的卷组 (volumegroup),形成一个存储池。管理员可以在卷组上随意创建逻辑卷组(logicalvolumes),并进一步在逻辑卷组上创建文件系 统。管理员通过LVM可以方便的调整存储卷组的大小,并且可以对磁盘存储按照组的方式进行命名、管理和分配,例如按照使用用途进行定义:“development”和“sales”,而不是使用物理磁盘名“sda”和“sdb”。而且当系统添加了新的磁盘,通过LVM管理员就不必将磁盘的 文件移动到新的磁盘上以充分利用新的存储空间,而是直接扩展文件系统跨越磁盘即可。