邏輯卷管理器(LVM)是一種極其靈活的磁盤(pán)管理工具,它讓用戶可以從多個(gè)物理硬驅(qū)創(chuàng)建邏輯磁盤(pán)卷,并調(diào)整大小,根本沒(méi)有停機(jī)時(shí)間。不過(guò),其強(qiáng)大的功能也有其缺點(diǎn):學(xué)用起來(lái)有點(diǎn)難度;與管理傳統(tǒng)的磁盤(pán)分區(qū)相比,使用多個(gè)命令行工具來(lái)創(chuàng)建LVM涉及更復(fù)雜的步驟。
不過(guò)對(duì)CentOS/RHEL用戶們來(lái)說(shuō)有個(gè)好消息。最新版本的CentOS/RHEL 7現(xiàn)在隨帶系統(tǒng)存儲(chǔ)管理器(又叫ssm),這是一種統(tǒng)一的命令行界面,由紅帽公司開(kāi)發(fā),用于管理各種各樣的存儲(chǔ)設(shè)備。目前,有三種可供ssm使用的卷管理后端:LVM、Btrfs和Crypt。
我在本教程中將演示如何借助ssm管理LVM卷。你會(huì)驚訝地發(fā)現(xiàn),創(chuàng)建和管理LVM卷原來(lái)是多么簡(jiǎn)單的事。
準(zhǔn)備ssm
在新的CentOS/RHEL 7上,你需要首先安裝系統(tǒng)存儲(chǔ)管理器。
- $ sudo yum install system-storage-manager
首先,不妨檢查關(guān)于可用硬驅(qū)和LVM卷的信息。下面這個(gè)命令將顯示關(guān)于現(xiàn)有磁盤(pán)存儲(chǔ)設(shè)備、存儲(chǔ)池、LVM卷和存儲(chǔ)快照的信息。輸出結(jié)果來(lái)自新安裝的CentOS 7,它在默認(rèn)情況下使用了LVM和XFS文件系統(tǒng)。
- $ sudo ssm list
在這個(gè)例子中,有兩個(gè)物理設(shè)備(“/dev/sda”和“/dev/sdb”)、一個(gè)存儲(chǔ)池(“centos”),以及存儲(chǔ)池中創(chuàng)建的兩個(gè)LVM卷(“dev/centos/root”和“/dev/centos/swap”)。
將物理磁盤(pán)添加到LVM池
不妨將一個(gè)新的物理磁盤(pán)(比如/dev/sdb)添加到現(xiàn)有的存儲(chǔ)池(比如centos)。將新的物理磁盤(pán)添加到現(xiàn)有存儲(chǔ)池的命令如下:
- $ sudo ssm add -p <pool-name> <device>
新設(shè)備添加到存儲(chǔ)池后,存儲(chǔ)池會(huì)自動(dòng)自動(dòng)擴(kuò)大,擴(kuò)大多少取決于設(shè)備的大小。檢查名為centos的存儲(chǔ)池的大小,如下所示。
正如你所見(jiàn),centos存儲(chǔ)池已成功地由7.5GB擴(kuò)大到8.5GB。不過(guò),眼下,位于存儲(chǔ)池中的磁盤(pán)卷(比如/dev/centos/root和/dev/centos/swap)并沒(méi)有使用變大的空間。為此,我們需要擴(kuò)大現(xiàn)有的LVM卷。
擴(kuò)大LVM卷
如果你在存儲(chǔ)池中有額外空間,可以擴(kuò)大存儲(chǔ)池中現(xiàn)有的磁盤(pán)卷。為此,使用ssm命令的resize選項(xiàng)。
- $ sudo ssm resize -s [size] [volume]
不妨將/dev/centos/root卷的大小增加500MB。
- $ sudo ssm resize -s+500M /dev/centos/root
核實(shí)現(xiàn)有卷增加后的大小。
- $ sudo ssm list volumes
我們可以核實(shí),/dev/centos/root卷的大小已從6.7GB增加到了7.2GB。不過(guò),這并不意味著你立即就可以使用在卷中創(chuàng)建的文件系統(tǒng)里面的額外空間。你會(huì)發(fā)現(xiàn),文件系統(tǒng)大?。ā癋S size”)仍然是6.7GB。
為了讓文件系統(tǒng)識(shí)別增加后的卷大小,你需要“擴(kuò)大”現(xiàn)有的文件系統(tǒng)本身。有不同的工具可用來(lái)擴(kuò)大現(xiàn)有的文件系統(tǒng),這取決于你使用哪種文件系統(tǒng)。比如說(shuō),有面向EXT2/EXT3/EXT4的resize2fs、面向XFS的xfs_growfs以及面向Btrfs的btrfs,不一而足。
在這個(gè)例子中,我們使用CentOS 7,XFS文件系統(tǒng)在默認(rèn)情況下創(chuàng)建。因而,我們使用xfs_growfs來(lái)擴(kuò)大現(xiàn)有的XFS文件系統(tǒng)。
擴(kuò)大XFS文件系統(tǒng)后,核實(shí)文件系統(tǒng)完全占用了整個(gè)磁盤(pán)卷的7.2GB。
創(chuàng)建新的LVM池/卷
在這個(gè)示例中,不妨看一下如何在物理磁盤(pán)驅(qū)動(dòng)器上創(chuàng)建新的存儲(chǔ)池和新的LVM卷。如果使用傳統(tǒng)的LVM工具,整個(gè)過(guò)程相當(dāng)復(fù)雜,需要準(zhǔn)備分區(qū),需要?jiǎng)?chuàng)建物理卷、卷組、邏輯卷,最后還要建立文件系統(tǒng)。不過(guò),若使用ssm,整個(gè)過(guò)程一蹴而就!
下面這個(gè)命令的作用是,創(chuàng)建一個(gè)名為mypool的存儲(chǔ)池,創(chuàng)建存儲(chǔ)池中名為disk0的500MB大小的LVM卷,使用XFS文件系統(tǒng)格式化卷,并將它掛載到/mnt/test下。立即就能領(lǐng)略到ssm的強(qiáng)大功能。
- $ sudo ssm create -s 500M -n disk0 --fstype xfs -p mypool /dev/sdc /mnt/test
不妨核實(shí)已創(chuàng)建的磁盤(pán)卷。
對(duì)LVM卷拍取快照
使用ssm工具,你還可以對(duì)現(xiàn)有的磁盤(pán)卷拍取快照。請(qǐng)注意:只有含有卷的后端支持快照機(jī)制,快照才適用。LVM后端支持聯(lián)機(jī)快照功能,這意味著我們沒(méi)必要在離線狀態(tài)下對(duì)卷拍取快照。另外,由于ssm的LVM后端支持LVM2,快照具有讀取/寫(xiě)入功能。
不妨對(duì)現(xiàn)有的LVM卷(比如/dev/mypool/disk0)拍取快照。
- $ sudo ssm snapshot /dev/mypool/disk0
一旦快照拍取完畢,它將作為一個(gè)特殊的快照卷存儲(chǔ)起來(lái),存儲(chǔ)了原始卷中拍取快照時(shí)的所有數(shù)據(jù)。
存儲(chǔ)快照后,你可以刪除原始卷,并掛載快照卷,以訪問(wèn)快照中的數(shù)據(jù)。
請(qǐng)注意:當(dāng)你試圖在原始卷掛載時(shí)掛載快照卷,會(huì)得到下列出錯(cuò)信息。
- kernel: XFS (dm-3): Filesystem has duplicate UUID 27564026-faf7-46b2-9c2c-0eee80045b5b - can't mount
刪除LVM卷
刪除現(xiàn)有的磁盤(pán)卷或存儲(chǔ)池就跟創(chuàng)建磁盤(pán)卷或存儲(chǔ)池來(lái)得一樣容易。如果你試圖刪除已掛載的卷,ssm會(huì)自動(dòng)先將它卸載。這方面沒(méi)有麻煩。
想刪除LVM卷:
- $ sudo ssm remove <volume>
想刪除存儲(chǔ)池:
- $ sudo ssm remove <pool-name>
結(jié)束語(yǔ)
但愿至此你已領(lǐng)略了ssm的強(qiáng)大功能。在企業(yè)存儲(chǔ)環(huán)境中,處理一大批的存儲(chǔ)設(shè)備、磁盤(pán)卷和文件系統(tǒng)是相當(dāng)常見(jiàn)的事。現(xiàn)在你可以運(yùn)用單單一個(gè)命令行工具ssm,讓其后端為你完成任務(wù),而不是操心運(yùn)用許多不同的工具管理一整套存儲(chǔ)配置。對(duì)任何置身于復(fù)雜存儲(chǔ)管理環(huán)境的系統(tǒng)管理員來(lái)說(shuō),ssm絕對(duì)是一款必備工具。
英文原文:http://xmodulo.com/2014/09/manage-lvm-volumes-centos-rhel-7-system-storage-manager.html
【編輯推薦】
聯(lián)系客服