吳佳驊
摘 要 本文介紹了彈性存儲(chǔ)和LVM,提出了一種運(yùn)用LVM實(shí)現(xiàn)基于分區(qū)的彈性存儲(chǔ)的方案,并給出了實(shí)現(xiàn)過(guò)程。
關(guān)鍵詞 彈性存儲(chǔ) LVM
中圖分類號(hào):TP316 文獻(xiàn)標(biāo)識(shí)碼:A
1彈性存儲(chǔ)
彈性存儲(chǔ),是指根據(jù)存放數(shù)據(jù)的多少或者使用者的要求來(lái)動(dòng)態(tài)調(diào)整分配給其的存儲(chǔ)空間,調(diào)整過(guò)程中無(wú)須停機(jī)和卸載硬盤(pán)。因?yàn)橛兄鴺O佳的存儲(chǔ)空間即時(shí)延展性,所以非常適合運(yùn)用在需要存儲(chǔ)變動(dòng)較頻繁的服務(wù)器上,如網(wǎng)盤(pán)服務(wù)、郵件服務(wù)、虛擬主機(jī)服務(wù)等等。
彈性存儲(chǔ),從其實(shí)現(xiàn)途徑上來(lái)看,可以分為兩種,基于目錄的彈性存儲(chǔ)和基于分區(qū)的彈性存儲(chǔ)。
基于目錄的彈性存儲(chǔ),是在對(duì)應(yīng)的目錄下動(dòng)態(tài)的控制不同用戶或者不同服務(wù)對(duì)于目錄存儲(chǔ)空間的使用上限,通常用設(shè)置磁盤(pán)配額的方式來(lái)實(shí)現(xiàn)。這種方式最大的短板是其受制于目錄所在磁盤(pán)分區(qū)的空間上限,僅能在有限的空間內(nèi)做存儲(chǔ)空間的按需分配,對(duì)存儲(chǔ)空間的預(yù)留有所要求,并且對(duì)到達(dá)上限之后的空間增長(zhǎng)實(shí)現(xiàn)難度較大,也不便利。一般只是用于數(shù)據(jù)量不大的服務(wù),如郵件服務(wù)之類。
基于分區(qū)的彈性存儲(chǔ),則是利用直接讓分區(qū)實(shí)現(xiàn)即時(shí)延伸的手段來(lái)達(dá)到存儲(chǔ)空間的動(dòng)態(tài)分配,相較于基于目錄的彈性存儲(chǔ),其上限是硬盤(pán)的空間上限,而這種上限又可以通過(guò)多個(gè)硬盤(pán)疊加的形式來(lái)獲得理論上的無(wú)限擴(kuò)充,空間增長(zhǎng)相對(duì)容易。與對(duì)存儲(chǔ)空間需求較大的網(wǎng)盤(pán)服務(wù)、虛擬主機(jī)服務(wù)等等有相當(dāng)好的適合相性。
2 LVM介紹
LVM,英文全名為L(zhǎng)ogical Volume Manager,中文翻譯名稱是邏輯卷管理。目前主流的Linux發(fā)行版中都集成了LVM。LVM極佳的延展性使得其非常適合用于實(shí)現(xiàn)基于分區(qū)的彈性存儲(chǔ)。
LVM被設(shè)計(jì)為3層結(jié)構(gòu),最底層是物理卷PV(Physical Volume),中間層是卷組VG(Volume Group),最上層是邏輯卷LV(Logical Volume)。LVM結(jié)構(gòu)如圖1所示。
圖1:LVM結(jié)構(gòu)圖
物理卷PV,由基本硬盤(pán)分區(qū)構(gòu)建而成,用于提供組成卷組VG的材料。
卷組VG,由一個(gè)或多個(gè)物理卷PV組成,卷組VG的存儲(chǔ)空間大小即組成它的所有物理卷PV的空間大小之和。卷組VG可以添加新的物理卷PV來(lái)擴(kuò)展其存儲(chǔ)空間。
邏輯卷LV,在卷組VG上組建得到,是實(shí)際實(shí)現(xiàn)存儲(chǔ)的分區(qū),可以隨意即時(shí)延展。
3實(shí)現(xiàn)方式
本文所使用的系統(tǒng)環(huán)境為CentOS6.5。
3.1使用LVM構(gòu)建存儲(chǔ)層
3.1.1在磁盤(pán)上構(gòu)建物理卷PV
(1)對(duì)基礎(chǔ)硬盤(pán)分區(qū)。
[root@localhost mnt]# fdisk /dev/sdb
Command (m for help): n
Command action p
Partition number(1-4): 1
(2)修改分區(qū)的文件系統(tǒng)ID為8e。
Command (m for help): t
Selected Partition 1
Hex code (type L to list codes): 8e
(3)將分區(qū)建立為物理卷PV。
[root@localhost mnt]# pvcreate /dev/sdb1
3.1.2將構(gòu)建的物理卷PV組建成卷組VG
(1)查看目前存在的物理卷PV。
[root@localhost mnt]# pvdisplay
(2)選擇需要使用的物理卷PV組建成卷組VG。
[root@localhost mnt]# vgcreate vg1 /dev/sdb1
(3)查看組建的卷組VG的信息。
[root@localhost mnt]# vgdisplay
3.2當(dāng)出現(xiàn)新用戶user1請(qǐng)求空間時(shí)建立一塊邏輯卷LV分配給user1
(1)在卷組VG上建立邏輯卷LV。
[root@localhost mnt]# lvcreate –L 1G –n user1 vg1
(2)格式化新建立的邏輯卷LV。
[root@localhost mnt]# mkfs.ext4 /dev/vg1/user1
(3)把新建立的邏輯卷LV掛載到user1的存儲(chǔ)目錄。
[root@localhost mnt]# mount /dev/vg1/user1 /home/user1/storage
(4)設(shè)置user1的存儲(chǔ)目錄權(quán)限。
[root@localhost mnt]# chmod 700 /home/user1/storage
3.3當(dāng)現(xiàn)有用戶user1空間耗盡,請(qǐng)求新空間時(shí),延展其邏輯卷LV
(1)擴(kuò)展邏輯卷LV的空間。
[root@localhost mnt]# lvextend –L +1G /dev/vg1/user1
(2)格式化擴(kuò)展的空間部分。
[root@localhost mnt]# resize2fs /dev/vg1/user1
3.4當(dāng)現(xiàn)有卷組VG空間耗盡時(shí),延展其空間
(1)加入新的硬盤(pán)建立新的物理卷PV。
[root@localhost mnt]# pvcreate /dev/sdc1
(2)將物理卷PV補(bǔ)充到卷組VG中,存儲(chǔ)空間得到延伸。
[root@localhost mnt]# vgextend vg1 /dev/sdc1