Linux入门系列LVM逻辑卷管理
MD和DMMD:Multi Device
将多个底层的物理设备,在内核中抽象成/dev/md# ,所有的调配工作都由内核中的md来实现的;DM:Device Mapper 设备映射,也能够用于提供逻辑设备;
DM的功能要比MD要强大;比如LVM2,快照,多路径;还可以实现动态增减。
在创建LVM的时候,要先创建好PV,再来创建GV,最后创建LV,格式化并挂载;创建PV
先把要创建成PV的块设备的分区类型修改为Linux LVM类型,对应的十六进制码是:8e # fdisk /dev/sdb … Command (m for help): t Partition number (1-13): 11 Hex code (type L to list codes): 8e Changed system type of partition 11 to 8e (Linux LVM)
使用fdisk 创建了/dev/sdb11 /dev/sdb12 /dev/sdb13这三个分区,并且已经修改好了分区类型;这里要注意的是fdisk命令最多只支持分15个分区;
下面就是把创建好的三个物理分区,创建成PV:[root@ns2 ~]# pvcreate /dev/sdb11 /dev/sdb12 Writing physical volume data to disk "/dev/sdb11" Physical volume "/dev/sdb11" successfully created Writing physical volume data to disk "/dev/sdb12" Physical volume "/dev/sdb12" successfully created [root@ns2 ~]#
查看系统创建好的PV,可以使用pvdisplay和pvs命令:[root@ns2 ~]# pvs PV VG Fmt Attr PSize PFree /dev/sdb11 lvm2 a-- 1.87G 1.87G /dev/sdb12 lvm2 a-- 1.87G 1.87G [root@ns2 ~]# //pvs命令显示的比较简单; [root@ns2 ~]# pvdisplay "/dev/sdb11" is a new physical volume of "1.87 GB" --- NEW Physical volume --- PV Name /dev/sdb11 VG Name PV Size 1.87 GB Allocatable NO PE Size (KByte) 0 //可以看出,当一个新的PV创建好了,在还没有加入到VG前,是没有PE的。 Total PE 0 Free PE 0 Allocated PE 0 PV UUID McYeUx-TBDQ-9nQY-wAlH-vfn8-vf4a-NJU8gc "/dev/sdb12" is a new physical volume of "1.87 GB" --- NEW Physical volume --- PV Name /dev/sdb12 VG Name PV Size 1.87 GB Allocatable NO PE Size (KByte) 0 Total PE 0 Free PE 0 Allocated PE 0 PV UUID D9LuMe-WD2G-fHPz-nqvb-o4EI-3BR6-p4sQo2 [root@ns2 ~]#创建GV
语法:vgcreate vg_name /dev/sdb[12345678][root@ns2 ~]# vgcreate myvg /dev/sdb11 Volume group "myvg" successfully created [root@ns2 ~]#
查看创建好的VG:[root@ns2 ~]# vgs VG #PV #LV #SN Attr VSize VFree myvg 1 0 0 wz--n- 1.87G 1.87G [root@ns2 ~]# [root@ns2 ~]# vgdisplay --- Volume group --- VG Name myvg System ID Format lvm2 Metadata Areas 1 Metadata Sequence No 1 VG Access read/write VG Status resizable MAX LV 0 Cur LV 0 Open LV 0 Max PV 0 Cur PV 1 Act PV 1 VG Size 1.87 GB PE Size 4.00 MB Total PE 478 Alloc PE / Size 0 / 0 Free PE / Size 478 / 1.87 GB VG UUID Eifwtg-tz8Z-5UPe-v8Fq-g9Xp-w3fq-OeAPkW [root@ns2 ~]#创建LV
语法:lvcreate -n lv_name -L [+]size vg_name[root@ns2 ~]# lvcreate -n mylv -L 1G myvg Logical volume "mylv" created [root@ns2 ~]#
查看创建的LV[root@ns2 ~]# lvs LV VG Attr LSize Origin Snap% Move Log Copy% Convert mylv myvg -wi-a- 1.00G [root@ns2 ~]# lvdisplay --- Logical volume --- LV Name /dev/myvg/mylv VG Name myvg LV UUID ep9AkO-R1oT-ud85-Sn78-Wf50-wkm3-160ckj LV Write Access read/write LV Status available # open 0 LV Size 1.00 GB Current LE 256 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 256 Block device 253:0 [root@ns2 ~]#格式化lv,并挂载[root@ns2 ~]# mke2fs -j /dev/myvg/mylv //也可以使用mkfs.ext3 /dev/myvg/mylv mke2fs 1.39 (29-May-2006) Filesystem label= OS type: Linux Block size=4096 (log=2) Fragment size=4096 (log=2) 131072 inodes, 262144 blocks 13107 blocks (5.00%) reserved for the super user First data block=0 Maximum filesystem blocks=268435456 8 block groups 32768 blocks per group, 32768 fragments per group 16384 inodes per group Superblock backups stored on blocks: 32768, 98304, 163840, 229376 Writing inode tables: done Creating journal (8192 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. [root@ns2 ~]#
从上面格式化的路径可以看出,LVM设备的路径为:/dev/vg_name/lv_name ,那么再来看看挂载后的路径:[root@ns2 ~]# mount /dev/myvg/mylv /lvmdata/ [root@ns2 ~]# mount /dev/sda3 on / type ext3 (rw) proc on /proc type proc (rw) sysfs on /sys type sysfs (rw) devpts on /dev/pts type devpts (rw,gid=5,mode=620) /dev/sda1 on /boot type ext3 (rw) tmpfs on /dev/shm type tmpfs (rw) none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw) sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw) /dev/mapper/myvg-mylv on /lvmdata type ext3 (rw) [root@ns2 ~]#让创建的lv开机自动挂载[root@ns2 ~]# cat /etc/fstab LABEL=/ / ext3 defaults 1 1 LABEL=/boot /boot ext3 defaults 1 2 tmpfs /dev/shm tmpfs defaults 0 0 devpts /dev/pts devpts gid=5,mode=620 0 0 sysfs /sys sysfs defaults 0 0 proc /proc proc defaults 0 0 LABEL=SWAP-sda2 swap swap defaults 0 0 /dev/myvg/mylv /lvmdata ext3 defaults 0 0 [root@ns2 ~]# 使用/dev/mapper/myvg-mylv也是可以的。
关于LVM扩容、缩容的操作将会在下一篇介绍。