建立基于LVM的文件系统
LVM是逻辑盘卷管理(Logical Volume Manager)的简称,它是Linux环境下对磁盘分区进行管理的一种机制,LVM是建立在硬盘和 分区之上的一个逻辑层,来提高磁盘分区管理的灵活性。通过LVM系统管理员可以轻松管理磁盘分区,如:将若干个磁盘分区连接为一个整块的卷组 (volume group),形成一个存储池。管理员可以在卷组上随意创建逻辑卷组(logical volumes),并进一步在逻辑卷组上创建文件系 统。
主体思路分为三步:新建 Physical Volume(PV);用几个PV建立一个Volume Group(VG);再由VG划分Logical Volume(LV),LV就是最终可以挂载的分区。
LVM的好处:在零停机前提下可以自如对文件系统的大小进行调整,可以方便实现文件系统跨越不同磁盘和分区。
下面以ubuntu 12.04 server来演示:
这里,我新建了4个5G大小的PV(Physical Volume),选择逻辑分区,并设置为供LVM所用。
值得注意的是/boot分区时不能放在基于LVM的文件系统上的,因此此处/boot分区建立,ext4格式的主分区。并留下一部分空闲空间,以备今后扩展分区之用。
接下来我们用新建的4个PV来组成一个VG。
选择Create volume group
并给即将建立的VG取个名字
用空格键选中我们要包含进VG中的PV.
接下来就是新建LV,这里我新建了/home, / , 和swap三个分区分别用来挂载相应的文件系统,分区明细如下图。
接下来设置LV,使之挂在在相应的挂载点上,如下图,选择
挂载点设置好之后的预览表如下图
点击finish即可完成基于LVM文件系统,并在此文件系统上安装操作系统。
登陆系统后用sudo权限使用pvdisplay查看当前PV情况
op@localhost:~$ sudo pvdisplay
--- Physical volume ---
PV Name /dev/sda5
VG Name VG-ubuntu
PV Size 4.66 GiB / not usable 3.00 MiB
Allocatable yes (but full)
PE Size 4.00 MiB
Total PE 1191
Free PE 0
Allocated PE 1191
PV UUID 3GgY2A-SF0x-Amar-GQop-YOGd-mOGD-0AG9qY
--- Physical volume ---
PV Name /dev/sda6
VG Name VG-ubuntu
PV Size 4.66 GiB / not usable 3.00 MiB
Allocatable yes (but full)
PE Size 4.00 MiB
Total PE 1191
Free PE 0
Allocated PE 1191
PV UUID eO1UPT-OndC-DgKg-LCKD-VI6U-WCOe-ib8wFp
--- Physical volume ---
PV Name /dev/sda7
VG Name VG-ubuntu
PV Size 4.66 GiB / not usable 3.00 MiB
Allocatable yes (but full)
PE Size 4.00 MiB
Total PE 1191
Free PE 0
Allocated PE 1191
PV UUID 6Tssor-gFR4-ySaV-Cmss-KuqM-gECT-Kz5dAq
--- Physical volume ---
PV Name /dev/sda8
VG Name VG-ubuntu
PV Size 4.66 GiB / not usable 3.00 MiB
Allocatable yes (but full)
PE Size 4.00 MiB
Total PE 1191
Free PE 0
Allocated PE 1191
PV UUID aNtKz2-XGCt-aOic-j3yQ-r1t7-rnBJ-8CXD3b
使用vgdisplay命令查看VG情况。
op@localhost:~$ sudo vgdisplay
--- Volume group ---
VG Name VG-ubuntu
System ID
Format lvm2
Metadata Areas 4
Metadata Sequence No 8
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 3
Open LV 3
Max PV 0
Cur PV 4
Act PV 4
VG Size 18.61 GiB
PE Size 4.00 MiB
Total PE 4764
Alloc PE / Size 4764 / 18.61 GiB
Free PE / Size 0 / 0
VG UUID xDkLVy-0wEv-FKN5-ePuI-Z2mV-4MYk-3nRoOI
使用lvdisplay命令查看LV情况
op@localhost:~$ sudo lvdisplay
--- Logical volume ---
LV Name /dev/VG-ubuntu/VG-swap
VG Name VG-ubuntu
LV UUID v4Ut41-7kWG-3bDH-NSeJ-sW2D-8NKe-AYTXdo
LV Write Access read/write
LV Status available
# open 2
LV Size 976.00 MiB
Current LE 244
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 252:0
--- Logical volume ---
LV Name /dev/VG-ubuntu/VG-home
VG Name VG-ubuntu
LV UUID Uls8lX-e3l1-1US2-iHrZ-EzAF-H4kN-s0kWo3
LV Write Access read/write
LV Status available
# open 1
LV Size 3.69 GiB
Current LE 944
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 252:1
--- Logical volume ---
LV Name /dev/VG-ubuntu/VG-rootsys
VG Name VG-ubuntu
LV UUID uOUtcz-pjH9-2UvO-ql8p-uY6I-v2cR-Hp8Fdq
LV Write Access read/write
LV Status available
# open 1
LV Size 13.97 GiB
Current LE 3576
Segments 4
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 252:2
使用fdisk命令新建PV对现存的LV进行扩展
op@localhost:~$ sudo fdisk /dev/sda
Command (m for help): m
Command action
a toggle a bootable flag
b edit bsd disklabel
c toggle the dos compatibility flag
d delete a partition
l list known partition types
m print this menu
n add a new partition
o create a new empty DOS partition table
p print the partition table
q quit without saving changes
s create a new empty Sun disklabel
t change a partition's system id
u change display/entry units
v verify the partition table
w write table to disk and exit
x extra functionality (experts only)
Command (m for help): n
Partition type:
p primary (1 primary, 1 extended, 2 free)
l logical (numbered from 5)
Select (default p): p
Partition number (1-4, default 3):
Using default value 3
First sector (39450624-41943039, default 39450624):
Using default value 39450624
Last sector, +sectors or +size{K,M,G} (39450624-41943039, default 41943039): +512M
修改分区类型 8e为Linux下的LVM
Command (m for help): t
Partition number (1-8): 3
Hex code (type L to list codes): 8e
然后w保存
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.
然后执行partprobe重新读取分区表或者重启刷新分区表
这样就利用未利用的磁盘空间新建了一个512M大小的分区
接下来把这个分区转换成PV。
op@localhost:~$ sudo pvcreate /dev/sda3
Physical volume "/dev/sda3" successfully created
接下来把PV加进VG里。
op@localhost:/dev$ sudo vgextend /dev/VG-ubuntu /dev/sda3
Volume group "VG-ubuntu" successfully extended
先查看下当前分区挂载情况
op@localhost:/dev$ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/VG--ubuntu-VG--rootsys 14G 1.4G 12G 10% /
udev 114M 12K 114M 1% /dev
tmpfs 49M 344K 49M 1% /run
none 5.0M 0 5.0M 0% /run/lock
none 122M 0 122M 0% /run/shm
/dev/mapper/VG--ubuntu-VG--home 3.7G 415M 3.1G 12% /home
/dev/sda2 190M 36M 144M 20% /boot
/dev/sr0 218M 218M 0 100% /mnt
op@localhost:/dev$ sudo lvextend -L +300M /dev/mapper/VG--ubuntu-VG--home
Extending logical volume VG-home to 3.98 GiB
Logical volume VG-home successfully resized
然后在线扩展文件系统
op@localhost:/dev$ sudo resize2fs /dev/mapper/VG--ubuntu-VG--home
resize2fs 1.42 (29-Nov-2011)
Filesystem at /dev/mapper/VG--ubuntu-VG--home is mounted on /home; on-line resizing required
old_desc_blocks = 1, new_desc_blocks = 1
Performing an on-line resize of /dev/mapper/VG--ubuntu-VG--home to 1043456 (4k) blocks.
The filesystem on /dev/mapper/VG--ubuntu-VG--home is now 1043456 blocks long.
如果正在使用的文件系统,需要先卸载文件系统,再扩展,再挂载文件系统。
转载于:https://blog.51cto.com/only4u/933799