LVM熙宇,即Logical Volume Manager,區(qū)別于章文嵩博士創(chuàng)作的LVS(Linux Virtual Server)。前者用于磁盤分區(qū)管理屯伞,而后者是一款運(yùn)行在四層的負(fù)載均衡軟件喊崖。
先說(shuō)操作挣磨,再做介紹
新建、擴(kuò)展和縮減LVM卷(常用)
操作場(chǎng)景:主機(jī)新增一塊硬盤荤懂,縮減/home目錄空間茁裙,擴(kuò)展/目錄空間,為/usr新增分區(qū)
- 新硬盤創(chuàng)建pv
[root@localhost ~]# pvcreate /dev/sdc
Physical volume "/dev/sdc" successfully created
- 將pv加入的vg
[root@localhost ~]# vgextend VolGroup /dev/sdc
Volume group "VolGroup" successfully extended
- 縮減/home空間
縮減五步走:卸載分區(qū)—檢查分區(qū)—重設(shè)分區(qū)大小—縮減lv大小—掛載分區(qū)
[root@localhost ~]# umount /home
[root@localhost ~]# e2fsck -f /dev/VolGroup/lv_home
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/VolGroup/lv_home: 11/65280 files (0.0% non-contiguous), 8523/261120 blocks
[root@localhost ~]# resize2fs /dev/VolGroup/lv_home 200M
resize2fs 1.41.12 (17-May-2010)
Resizing the filesystem on /dev/VolGroup/lv_home to 51200 (4k) blocks.
The filesystem on /dev/VolGroup/lv_home is now 51200 blocks long.
[root@localhost ~]# lvreduce -L 200M /dev/mapper/VolGroup-lv_home
WARNING: Reducing active logical volume to 200.00 MiB.
THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce VolGroup/lv_home? [y/n]: y
Size of logical volume VolGroup/lv_home changed from 1020.00 MiB (255 extents) to 200.00 MiB (50 extents).
Logical volume lv_home successfully resized.
[root@localhost ~]# mount /home
- 擴(kuò)展/目錄空間
兩步走:擴(kuò)展lv—重設(shè)分區(qū)大小
[root@localhost ~]# lvextend -L +800M /dev/VolGroup/lv_root
Size of logical volume VolGroup/lv_root changed from 8.51 GiB (2178 extents) to 9.29 GiB (2378 extents).
Logical volume lv_root successfully resized.
[root@localhost ~]# resize2fs /dev/VolGroup/lv_root
resize2fs 1.41.12 (17-May-2010)
Filesystem at /dev/VolGroup/lv_root is mounted on /; on-line resizing required
old desc_blocks = 1, new_desc_blocks = 1
Performing an on-line resize of /dev/VolGroup/lv_root to 2435072 (4k) blocks.
The filesystem on /dev/VolGroup/lv_root is now 2435072 blocks long.
- 為/usr/test掛載新分區(qū)
四步走:新建lv—格式化分區(qū)—修改/etc/fstab(保證操作系統(tǒng)開機(jī)能自動(dòng)掛載分區(qū))—掛載分區(qū)
[root@localhost ~]# lvcreate -l 100%free -n lv_usr_test VolGroup
Logical volume "lv_usr_test" created.
[root@localhost ~]# mkfs.ext4 /dev/VolGroup/lv_usr_test
mke2fs 1.41.12 (17-May-2010)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
66672 inodes, 266240 blocks
13312 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=272629760
9 block groups
32768 blocks per group, 32768 fragments per group
7408 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 37 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.
[root@localhost ~]# vi /etc/fstab
#
# /etc/fstab
# Created by anaconda on Tue Apr 18 15:50:05 2017
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
/dev/mapper/VolGroup-lv_root / ext4 defaults 1 1
UUID=5f76841a-7d60-4da2-9db1-7c6356bc3812 /boot ext4 defaults 1 2
/dev/mapper/VolGroup-lv_swap swap swap defaults 0 0
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
/dev/mapper/VolGroup-lv_home /home ext4 defaults 0 0
/dev/mapper/VolGroup-lv_usr_test /usr/test ext4 defaults 0 0
[root@localhost ~]# mount /usr/test
此處應(yīng)該可以介紹一下LVM的原理了
LVM原理其實(shí)很簡(jiǎn)單节仿,LVM是為了解決傳統(tǒng)的物理分區(qū)難以擴(kuò)展和更改的問(wèn)題而產(chǎn)生的工具晤锥。LVM其實(shí)是在物理分區(qū)和掛載目錄之間插入一層,將傳統(tǒng)的物理分區(qū)—掛載目錄的模式改變?yōu)槲锢矸謪^(qū)(或磁盤)—PV—VG—LV—掛載目錄廊宪。
PV即Physical Volume查近,它可以是一整塊磁盤,或者磁盤上的一塊分區(qū)挤忙,又或者是raid卡創(chuàng)建的raid卷霜威,這類相同功能的設(shè)備使用pvcreate命令加上一些LVM管理參數(shù)后形成PV。
VG即Volume Group册烈,類似于傳統(tǒng)磁盤掛載模式下的物理磁盤戈泼,一個(gè)或多個(gè)PV組成一個(gè)VG婿禽,然后在VG上創(chuàng)建LV。
LV即Logical Volume大猛,LVM模式下最終掛載到目錄下的分區(qū)扭倾,類似傳統(tǒng)模式下的物理分區(qū)。
了解以上的內(nèi)容挽绩,也就能理解LVM掛載新硬盤的步驟了:硬盤創(chuàng)建PV—加入或新建VG—?jiǎng)?chuàng)建LV—格式化LV—掛載到目錄
這里還有個(gè)知識(shí)點(diǎn)膛壹,就是PE和LE:PE即Physical Extent,物理塊唉堪,是PV中最小尋址單位模聋;LE即Logical Extent,邏輯塊唠亚,是LV中的最小尋址單位链方。同一個(gè)VG中的PE和LE必須是相同的。
再圍繞上面的內(nèi)容扯點(diǎn)相關(guān)的
LVM的常用命令
pvcreate灶搜、vgcreate祟蚀、lvcreate:pv、vg割卖、lv創(chuàng)建
pvdisplay前酿、vgdisplay、lvdisplaly:顯示pv鹏溯、vg薪者、lv詳細(xì)屬性信息
pvs、vgs剿涮、lvs:顯示pv、vg攻人、lv使用情況
pvscan、vgscan怀吻、lvscan:查詢系統(tǒng)中所有pv瞬浓、vg、lv
vgremove蓬坡、lvremove:vg猿棉、lv刪除
vgextend、lvextend:擴(kuò)展vg屑咳、lv大小
vgreduce萨赁、lvreduce:將pv從vg中刪除、縮減lv大小
pvmove:將一個(gè)pv中的數(shù)據(jù)轉(zhuǎn)移到另一個(gè)pv中
小知識(shí)點(diǎn)兆龙,上面命令涉及到大小時(shí)杖爽,-l后面跟pe(或le)數(shù)量或給定百分比(100%free表示使用全部可用空間),-L 后面跟容量(200M、2G等)慰安。
至于上面這些命令具體參數(shù)腋寨,自己--help或者man一下好嗎
關(guān)于/etc/fstab
內(nèi)核在啟動(dòng)過(guò)程中會(huì)讀取/etc/fstab文件中的配置來(lái)自動(dòng)掛載磁盤。這樣將LVM創(chuàng)建的邏輯卷或物理磁盤分區(qū)的掛載信息寫入這個(gè)文件后我們就不需要每次開機(jī)之后手動(dòng)掛載了化焕。
[root@localhost ~]# cat /etc/fstab
#
# /etc/fstab
# Created by anaconda on Tue Apr 18 15:50:05 2017
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
/dev/mapper/VolGroup-lv_root / ext4 defaults 1 1
UUID=5f76841a-7d60-4da2-9db1-7c6356bc3812 /boot ext4 defaults 1 2
/dev/mapper/VolGroup-lv_swap swap swap defaults 0 0
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
/dev/mapper/VolGroup-lv_home /home ext4 defaults 0 0
如上所示萄窜,此文件中的分區(qū)掛載信息有6列:
- 第一列:device,磁盤或者LVM分區(qū)的設(shè)備文件(label)或者UUID
- 第二列:Mount point撒桨,掛載點(diǎn)查刻,就是要掛載的目錄
- 第三列:filesystem,磁盤文件系統(tǒng)的格式元莫,如ext2赖阻、ext3、ext4等
- 第四列:parameters踱蠢,文件系統(tǒng)參數(shù)
參數(shù) | 解釋 |
---|---|
Async/sync | 設(shè)置文件系統(tǒng)異步/同步方式運(yùn)行火欧,默認(rèn)為async,異步方式會(huì)先將內(nèi)容保存至緩存再寫入茎截,性能較好苇侵;同步方式直接將內(nèi)容寫入硬盤,可以防止非正常關(guān)機(jī)破壞文件系統(tǒng) |
auto/noauto | 開機(jī)時(shí)此文件系統(tǒng)是否被主動(dòng)掛載企锌。默認(rèn)為auto |
rw/ro | 是否以以只讀或者讀寫模式掛載 |
exec/noexec | 此文件系統(tǒng)是否有執(zhí)行權(quán)限 |
user/nouser | 是否允許用戶使用mount命令掛載 |
suid/nosuid | 是否允許SUID的存在 |
Usrquota | 啟動(dòng)文件系統(tǒng)支持磁盤配額模式 |
Grpquota | 啟動(dòng)文件系統(tǒng)對(duì)群組磁盤配額模式的支持 |
Defaults | 同事具有rw,suid,dev,exec,auto,nouser,async等默認(rèn)參數(shù)的設(shè)置 |
- 第五列和第六列:是否被dump命令備份和開機(jī)時(shí)是否用fsck檢驗(yàn)文件系統(tǒng)完整性榆浓。0表示否,1表示是撕攒。