七、鏈路聚合
NIC teaming,簡單的說就是多個(gè)物理端口綁定在一起當(dāng)成一個(gè)邏輯端口使用,以便提高帶寬,實(shí)現(xiàn)負(fù)載平衡或高可用的功能。RHEL7里面是通過runner (可以視作一段代碼)來實(shí)現(xiàn)不同的目的。
配置的基本過程就是配置一個(gè)邏輯端口的連接,視作master;然后把需要的物理端口配置成slave 連接,綁定到組。然后把這個(gè)邏輯端口分配IP就可以用了
team:高可用性
首先準(zhǔn)備兩塊網(wǎng)卡,它們有不同的MAC地址
創(chuàng)建一個(gè)新連接,類型是team連接名稱team0。
activebackup表示熱備,loadbalance表示負(fù)載均衡
master 配置好了,還得配置slave,即將eno16777736和eno33554960兩塊網(wǎng)卡加入到team0
執(zhí)行nmcli connection show命令查看team0-1和team0-2的狀態(tài)
上圖可以看出team0-1和team0-2沒有連接,執(zhí)行下列命令連接team0-1和team0-2
執(zhí)行ifconfig,發(fā)現(xiàn)網(wǎng)卡的地址都一樣了,這樣交換機(jī)才能轉(zhuǎn)發(fā)包到同一個(gè)邏輯端口
最后給team0 分配一個(gè)IP地址(也可以直接用圖形工具設(shè)置IP地址)
測(cè)試一下,先看看team0當(dāng)前狀態(tài)
關(guān)掉eno16777736的連接,自動(dòng)切換到第二個(gè)物理端口了,測(cè)試成功
八、rhel7 grub配置文件及排錯(cuò)
RHEL7用了grub2,而不再是grub了
MBR分區(qū)的前446個(gè)字節(jié)存放的是系統(tǒng)引導(dǎo)程序grub,中間64字節(jié)是分區(qū)表,最后2個(gè)字節(jié)表示結(jié)束。那么什么是grub是怎么工作的呢?
簡單的說,開機(jī)會(huì)經(jīng)歷以下幾步:
1、BIOS自檢,檢查硬件;
2、激活MBR,MBR上不存在文件系統(tǒng),可以視作硬件一部分,因此可以被直接讀取
3、grub加載到內(nèi)存,生成一個(gè)微系統(tǒng),微系統(tǒng)內(nèi)置了精簡版的文件系統(tǒng)
4、通過這個(gè)微系統(tǒng),他會(huì)去引導(dǎo)分區(qū),比如默認(rèn)一般是sda1上去找內(nèi)核文件如vmlinuz,然后再調(diào)用grub的配置文件。
grub的主要把他的配置文件放在了3個(gè)地方。
/boot/grub2/grub.cfg (/etc/grub2.cfg是/boot/grub2/grub.cfg文件的符號(hào)鏈接) /etc/grub.d/ /etc/default/grub
如下所示。他們的關(guān)系是 grub.cfg里面通過 ####BEGIN ##### 這種格式按照順序調(diào)用/etc/grub.d里面的腳本實(shí)現(xiàn)不同的功能。grub.d目錄里面有很多數(shù)字開頭的腳本,按照從小到大的順序執(zhí)行。以00__header為例,他又會(huì)調(diào)用 /etc/default/grub 配置文件來實(shí)現(xiàn)最基本的開機(jī)界面配置
例如:在/etc/grub2.cfg是文件里面調(diào)用 /etc/grub.d/10_linux 來配置不同的內(nèi)核,這里面有2個(gè) menuentry (菜單入口),所以我們開機(jī)的時(shí)候會(huì)看見兩個(gè)默認(rèn)選項(xiàng),一個(gè)是普通模式,一個(gè)是救援模式
這個(gè)是/etc/default/grub 文件。和其他的腳本比較起來,非常簡單直觀了。后面會(huì)舉例如何修改
需要注意的是,最好不要直接去修改 /etc/grub2.cfg 文件。這個(gè)是因?yàn)槿绻笃谏?jí)內(nèi)核,所有的配置都會(huì)失效。如果需要自定義這個(gè)文件,我們可以修改對(duì)應(yīng)的腳本或者 /etc/default/grub文件,然后通過 grub2-mkconfig 重新生成grub.cfg文件。
例1:修改啟動(dòng)的等待時(shí)間
rhel7默認(rèn)啟動(dòng)等待時(shí)間為5秒,下面將啟動(dòng)時(shí)間修改為3秒(注:如果改為-1,那么每次啟動(dòng)時(shí)需手動(dòng)確認(rèn)才可以)
修改/etc/default/grub文件,如下圖所示:
修改之后重新編譯生成grub.cfg文件
例2:修改網(wǎng)卡的顯示名字,這個(gè)前面做網(wǎng)絡(luò)配置的時(shí)候提到過,這里不贅述了。
例3:加密grub
開機(jī)界面的時(shí)候如果輸入e,會(huì)打開編輯窗口,我們可以根據(jù)需要進(jìn)入rescue, emergency 或者 shell 模式。如何限制訪問。
在/etc/grub.d/00_header 文件末尾,添加以下內(nèi)容
重新編譯生成grub.cfg文件
重啟之后輸入e,就需要用戶和密碼才能進(jìn)入編輯窗口了
以上設(shè)置的是明文密碼,那如何設(shè)置密文口令呢?
加密密碼由命令grub2-mkpasswd-pbkdf2生成
在/etc/grub.d/00_header 文件末尾,添加以下內(nèi)容
cat <<EOF set superusers=’用戶名’ password_pbkdf2 用戶名加密密碼 EOF
重新編譯生成grub.cfg文件
grub2-mkconfig–o/boot/grub2/grub.cfg
重啟驗(yàn)證
注:在文本終端模式下,安裝并啟用gpm后就可復(fù)制粘貼了。
在這個(gè)編輯窗口,我們可以根據(jù)需要進(jìn)入 rescue,emergency和 shell引導(dǎo)的3種模式。這3種模式對(duì)于系統(tǒng)啟動(dòng)排錯(cuò)很有幫助,比如某個(gè)服務(wù)卡住了無法加載我們可以通過這3種模式來排錯(cuò)。
rescue模式: 在commandline的配置末尾添加s ,類似rhel6之前的單用戶模式
按ctrl+x啟動(dòng)
普通模式需要加載的服務(wù)很多,但是這個(gè)rescue模式加載的就少很多了,輸入管理員密碼就可以進(jìn)入了。
emergency模式和rescue模式類似,不過加載的服務(wù)更少,把s改成 emergency就行了
那么如果忘記root密碼了怎么辦?
方法1:
1、重啟系統(tǒng),按e
2、在linux16那行的最尾部加上一下信息
rd.break console=tty0
3、按ctrl+x啟動(dòng)
4、重新掛載文件系統(tǒng)
5、改變根目錄
6、修改root密碼
7、在根目錄下創(chuàng)建相關(guān)文件(用于重新標(biāo)記selinux環(huán)境值)
8、退出,系統(tǒng)將會(huì)重啟
方法2:
在linux16 的最后一行刪除 rhgb quiet, 然后添加 init=/bin/sh, 他會(huì)用shell替代默認(rèn)的daemon進(jìn)程
按ctrl+x啟動(dòng)
掛載文件系統(tǒng)為可寫模式,原因很簡單,根目錄加載的權(quán)限是ro,只讀,重新加載成 rw的權(quán)限。
這個(gè)時(shí)候就可以修改密碼了,執(zhí)行passwd,按提示修改root密碼
如何之前系統(tǒng)啟用了selinux,必須運(yùn)行以下命令,否則將無法正常啟動(dòng)系統(tǒng):
創(chuàng)建這個(gè)文件會(huì)自動(dòng)在開啟的時(shí)候重新做標(biāo)簽即用于重新標(biāo)記 SELINUX 環(huán)境值
運(yùn)行命令exec /sbin/init來正常啟動(dòng),或者用命令exec /sbin/reboot重啟
注意:紅帽考試時(shí)建議使用方法1,方法2在考試環(huán)境中以過時(shí)了。
開機(jī)排錯(cuò)
例1. grub故障:比如把MBR的前446個(gè)字節(jié)都覆蓋了。
系統(tǒng)重啟后則出現(xiàn)如下故障現(xiàn)象
開機(jī)的時(shí)候會(huì)自動(dòng)嘗試從本地,光盤和網(wǎng)絡(luò)加載引導(dǎo)程序(如果光盤、網(wǎng)絡(luò)等引導(dǎo)失敗則會(huì)operatiing systemnot found);這里是從我的光盤加載的,因?yàn)楸镜氐囊龑?dǎo)程序已經(jīng)沒有了.
選擇troubleshooting (排錯(cuò))
選擇resure a red hat enterprise linux system
選擇continue,注意有耐心多等一下,有的時(shí)候會(huì)卡個(gè)10秒才有反應(yīng)
按照提示,切換根到本機(jī)的系統(tǒng)
fdisk -l 看看啟動(dòng)分區(qū)是哪個(gè),有星號(hào)的就是
重裝一下 grub2 到啟動(dòng)分區(qū)就可以了
重啟就OK了
例2:如果grub引導(dǎo)程序沒問題,但是我們把內(nèi)核文件或者grub.cfg配置文件給刪除了怎么辦
重啟之后,直接進(jìn)入grub的救援模式,這表明引導(dǎo)程序木有問題,但是引導(dǎo)文件找不到了
和前面一樣,光盤啟動(dòng),切換根目錄,掛載一下光盤到光盤掛載點(diǎn), 順便看看/boot目錄,里面空蕩蕩的,內(nèi)核文件和配置文件都沒了
解決方法就是重新安裝內(nèi)核,可以用rpm 或者yum,用yum需要先卸載當(dāng)前的,再安裝; rpm可以強(qiáng)行--force覆蓋安裝。
裝完內(nèi)核之后,重新安裝一次 grub2, 輸入 grub2-install /dev/sda, 然后重新編譯一下grub2就行了
重啟系統(tǒng)就可以了。
重啟之后,如果遇見以下問題:
問題是開機(jī)直接進(jìn)入命令行模式,即使runlevel顯示的是5,手動(dòng)輸入startx一樣報(bào)錯(cuò)。
解決方式是重新安裝圖形化界面
yum grouplist yum groupinstall'Server with GUI'
九、磁盤分區(qū)、格式化及LVM管理
RHEL7如何對(duì)磁盤進(jìn)行分區(qū)和格式化以及如何配置LVM,與以前版本的RHEL區(qū)別不大,可以通過disk工具(在圖形桌面中運(yùn)行)或命令工具(如:fdisk、gdisk、parted)管理硬盤設(shè)備。fdisk可以配置MBR格式; gdisk配置gpt格式, parted可以自己選擇。
傳統(tǒng)的硬盤分區(qū)都是MBR格式,MBR分區(qū)位于0扇區(qū),他一共512字節(jié),前446字節(jié)是grub引導(dǎo)程序,這個(gè)會(huì)在后面學(xué)習(xí);中間64字節(jié)是分區(qū)表,每個(gè)分區(qū)需要16個(gè)字節(jié)表示,因此主分區(qū)和擴(kuò)展分區(qū)一共只能有4個(gè)分區(qū),超過4個(gè)的分區(qū)只能從擴(kuò)展分區(qū)上再設(shè)置邏輯分區(qū)來表示。每個(gè)分區(qū)的大小無法超過2T。 MBR的最后2個(gè)字節(jié)是結(jié)束符號(hào)
GPT格式,打破了MBR的限制,可以設(shè)置多達(dá)128個(gè)分區(qū),分區(qū)的大小根據(jù)操作系統(tǒng)的不同有所變化,但是都突破了2T空間的限制。支持高達(dá) 18EB (1EB=1024PB,1PB=1024TB) 的卷大小,允許將主磁盤分區(qū)表和備份磁盤分區(qū)表用于冗余,還支持唯一的磁盤和分區(qū) ID (GUID)。
與 MBR 分區(qū)的磁盤不同,GPT的分區(qū)信息是在分區(qū)中,而不象MBR一樣在主引導(dǎo)扇區(qū)。為保護(hù)GPT不受MBR類磁盤管理軟件的危害,GPT在主引導(dǎo)扇區(qū)建立了一個(gè)保護(hù)分區(qū) (Protective MBR)的MBR分區(qū)表,這種分區(qū)的類型標(biāo)識(shí)為0xEE,這個(gè)保護(hù)分區(qū)的大小在Windows下為128MB,Mac OS X下為200MB,在Window磁盤管理器里名為GPT保護(hù)分區(qū),可讓MBR類磁盤管理軟件把GPT看成一個(gè)未知格式的分區(qū),而不是錯(cuò)誤地當(dāng)成一個(gè)未分區(qū)的磁盤
在MBR硬盤中,分區(qū)信息直接存儲(chǔ)于主引導(dǎo)記錄(MBR)中(主引導(dǎo)記錄中還存儲(chǔ)著系統(tǒng)的引導(dǎo)程序)。但在GPT硬盤中,分區(qū)表的位置信息儲(chǔ)存在GPT頭中。但出于兼容性考慮,硬盤的第一個(gè)扇區(qū)仍然用作MBR,之后才是GPT頭。
GPT的結(jié)構(gòu)如下圖:
首先看看當(dāng)前的硬盤信息
可以在/proc/partitions這個(gè)文件查看當(dāng)前的分區(qū)
先試試MBR格式的分區(qū),fdisk選項(xiàng)如下所示
輸入n,可以創(chuàng)建新的MBR分區(qū),然后輸入p可以顯示當(dāng)前的分區(qū)狀態(tài)
重復(fù)n的操作,添加其他分區(qū)。
注:MBR格式磁盤最多可以創(chuàng)建4個(gè)主分區(qū)或3個(gè)主分區(qū)1個(gè)擴(kuò)展分區(qū),在擴(kuò)展分區(qū)中可以創(chuàng)建若干個(gè)邏輯分區(qū)。
注意id代表了磁盤的用途,可以通過t來改變
看看分區(qū)記錄
gdisk和fdisk非常類似
創(chuàng)建新分區(qū)的時(shí)候可以看見可以有128個(gè)分區(qū)
parted,和前兩個(gè)相比,更靈活,可以自行設(shè)定MBR或GPT格式和分區(qū)
通過mklabel msdos可以設(shè)定為MBR格式,然后可以通過mkpart來劃分分區(qū)
msdos設(shè)定為MBR格式,gpt設(shè)定為GPT格式
primary代表主分區(qū),extended代表擴(kuò)展分區(qū),logical代表邏輯分區(qū)。
setnumber flag state用于設(shè)置分區(qū)的用途,flag:boot、lvm、raid。State:on/off表示開啟或關(guān)閉。
parted工具分完區(qū)后無需保存,輸入q退出即可。
劃分好分區(qū)之后,還需要格式化才能使用??梢酝ㄟ^ mkfs/mkswap來格式化文件系統(tǒng)
#mkfs.xfs /dev/分區(qū)設(shè)備名或#mkfs -t xfs /dev/分區(qū)設(shè)備名
可以修改fstab實(shí)現(xiàn)自動(dòng)加載
測(cè)試是否能自動(dòng)掛載
通過df -h查看已經(jīng)掛載了的設(shè)備
-T選項(xiàng)可以顯示設(shè)備的文件系統(tǒng)類
有的掛載點(diǎn)路徑比較長,自動(dòng)分2行顯示,可以-P強(qiáng)制一行顯示
如同進(jìn)程有pid,用戶有uid,每個(gè)文件系統(tǒng)也有自己的id,稱為uuid,但是不是每個(gè)分區(qū)都有;如果某個(gè)分區(qū)沒有文件系統(tǒng),那么這個(gè)分區(qū)是沒有uuid的。
可以通過 blkid(block id)來查看。注意uuid標(biāo)記的是文件系統(tǒng),而不是分區(qū)。uuid的好處在于可以通過uuid這個(gè)唯一值來掛載系統(tǒng),這樣可以避免因?yàn)閯h除硬盤造成的錯(cuò)位,sda6變成了sda5等等
我們可以通過xfs_admin -U 來手動(dòng)更改文件系統(tǒng)的uuid
附:在目錄里面可以通過 ls -ld查看目錄的屬性,ls -la查看內(nèi)容的屬性,但是-ld顯示的目錄大小只有4K,這僅僅是目錄本身的大小,要想查看目錄和其內(nèi)容的整個(gè)大小,可以通過du來查看,如果只想看最終結(jié)果,使用-s(summary)就行了
下面我們來看看swap分區(qū)如何手動(dòng)創(chuàng)建。swap類似windows的虛擬內(nèi)存/page file,當(dāng)內(nèi)存不足的時(shí)候,數(shù)據(jù)保存在swap中。
有兩種方式可以使用:
第一種單獨(dú)用一個(gè)分區(qū)來作為swap
創(chuàng)建一個(gè)分區(qū)(如:/dev/sdb3),并更改分區(qū)ID為82
執(zhí)行partx –a /dev/sdb命令,使分區(qū)修改生效
在分區(qū)上創(chuàng)建swap文件系統(tǒng)
修改fstab實(shí)現(xiàn)自動(dòng)加載
第二種方式是創(chuàng)建一個(gè)文件塊,這個(gè)文件所占有的空間作為swap使用
對(duì)于普通的分區(qū),擴(kuò)展度不高,一旦分區(qū)格式化完成,很難靈活的再增加或者減少分區(qū)大小。為了解決這個(gè)問題,可以使用LVM(邏輯卷)。基本過程是把物理磁盤或者分區(qū)初始化稱為物理卷(PV),然后把PV加入VG(卷組),最后在VG上劃分邏輯的分區(qū)(LVM),LVM可以當(dāng)做普通的分區(qū)進(jìn)行格式化和掛載。
將準(zhǔn)備的磁盤或分區(qū)創(chuàng)建PV
可以執(zhí)行pvdisplay查看PV的詳細(xì)信息,pvremove刪除PV
創(chuàng)建完P(guān)V,之后,需要?jiǎng)?chuàng)建VG,然后添加PV到VG中
可以通過vgdisplay查看具體的信息,注意PE的Size是4M,這個(gè)是增減的最小計(jì)算單位
注:創(chuàng)建VG時(shí):使用–s選項(xiàng)的作用是在創(chuàng)建時(shí)指定PE塊(物理擴(kuò)展單元)的大小,默認(rèn)是4M。
如:# vgcreate volGroup03 -s 8M/dev/sdb[12])
我們可以繼續(xù)往vg里面添加新的分區(qū)
若事先沒有把sdb3轉(zhuǎn)化為pv,而是直接添加到vg里面,不過一旦添加了他自動(dòng)就初始化成pv了。
可以添加當(dāng)然也可以減少pv。 #vgreduce vg00 /dev/sdb3
VG準(zhǔn)備就緒,可以創(chuàng)建了LVM了
注意看他的大小其實(shí)是112M,因?yàn)镻E的大小是4M,這個(gè)4M是最小單位,不能破開,因此28個(gè)PE就是112M
注:大L可以直接指定大小,小l是指定多少個(gè)PE的值
也可以設(shè)置剩余空間的百分比
刪除邏輯卷 #lvremove /dev/vg00/lv01
對(duì)已經(jīng)創(chuàng)建的邏輯卷,可以當(dāng)做普通分區(qū)一樣格式化和掛載
修改/etc/fstab文件實(shí)現(xiàn)開機(jī)自動(dòng)掛載。
擴(kuò)展一個(gè)邏輯卷,增加300M,首先要確保卷組有大于300M的空閑空間。
執(zhí)行l(wèi)vextend擴(kuò)展邏輯卷大小
注意邏輯卷的文件系統(tǒng)仍然是109M沒有改變,我們還需要填充文件系統(tǒng)的空白。
RHEL7可以用xfs_growfs來擴(kuò)大XFS文件系統(tǒng),也可以直接用resize2fs 來處理設(shè)備
注意的是 XFS系統(tǒng)只能增長,不能減少!因此如果需要減少LVM的話,分區(qū)只能使用ext4了
執(zhí)行df查看擴(kuò)展后的文件系統(tǒng)
邏輯卷快照
LVM提供一個(gè)極妙的設(shè)備,它是snaphot。允許管理員創(chuàng)建一個(gè)新的塊裝置,在某個(gè)時(shí)間點(diǎn)提供了一個(gè)精確的邏輯卷副本,快照提供原始卷的靜態(tài)視圖LVM 快照通過把文件系統(tǒng)的改變記錄到一個(gè)快照分區(qū),因此當(dāng)你創(chuàng)建一個(gè)快照分區(qū)時(shí),你不需要使用和你正創(chuàng)建快照的分區(qū)一樣大小的分區(qū),所需的空間大小取決于快照的使用,所以沒有可循的方法來設(shè)置此大小。如果快照的大小等于原始卷的大小那么快照永遠(yuǎn)可用。
快照是特殊的邏輯卷,只可以對(duì)邏輯卷做快照。邏輯卷快照和需要做快照的邏輯卷必須在同一個(gè)卷組里面
現(xiàn)在在我們的系統(tǒng)中有個(gè)邏輯卷/dev/vg00/lv00,我們用lvdisplay來查詢一下這個(gè)邏輯卷
可以看到,這個(gè)邏輯卷/dev/vg00/lv00的大小是309M。我們將這個(gè)邏輯卷/dev/vg00/lv00掛載到/data下面。復(fù)制一些數(shù)據(jù)到/data里面去。方便等下做試驗(yàn)
現(xiàn)在我們就為邏輯卷/dev/vg00/lv00來做快照
執(zhí)行l(wèi)vscan查看創(chuàng)建好的邏輯卷
可以看到/dev/vg00/lv00是原始邏輯卷,而/dev/vg00/lvsp00是快照
執(zhí)行l(wèi)vdisplay或lvs命令查看邏輯信息
可以看到邏輯卷快照創(chuàng)建成功了,
注意:這個(gè)快照卷建好之后,是不需要格式化也不需要進(jìn)行掛載的。格式化或掛載都會(huì)出現(xiàn)的錯(cuò)誤提示的。
模擬將原邏輯卷中的數(shù)據(jù)刪除
如何恢復(fù)原邏輯卷的數(shù)據(jù)?有兩方式可以恢復(fù)刪除的數(shù)據(jù)
方式一是先將原邏輯卷卸除掛載#umount /dev/vg00/lv00
然后掛載邏輯卷快照即可 #mount /dev/vg00/lvsp00 /data,就可以正常訪問數(shù)據(jù)了
方式二可以通過 lvconvert把快照的內(nèi)容重新寫回原有的lvm
先將原邏輯卷卸除掛載#umount /dev/vg00/lv00
執(zhí)行l(wèi)vconvert將快照的數(shù)據(jù)合并到原邏輯卷 #lvconvert --merge /dev/vg00/lvsp00
最后掛載原邏輯卷,查看數(shù)據(jù)是否恢復(fù)成功
注:當(dāng)我們把原邏輯卷里面的數(shù)據(jù)給刪除了,邏輯卷快照里面的數(shù)據(jù)還在,所以可以用快照恢復(fù)數(shù)據(jù)。而當(dāng)我們?cè)谶壿嬀砝锩嫣砑訑?shù)據(jù),快照是不會(huì)發(fā)生改變的,是沒有這個(gè)文件的。因?yàn)榭煺罩粫?huì)備份當(dāng)時(shí)邏輯卷的一瞬間。
使用ssm(系統(tǒng)存儲(chǔ)管理器)進(jìn)行邏輯管理
邏輯卷管理器(LVM)是一種極其靈活的磁盤管理工具,它讓用戶可以從多個(gè)物理硬驅(qū)創(chuàng)建邏輯磁盤卷,并調(diào)整大小,根本沒有停機(jī)時(shí)間。最新版本的CentOS/RHEL 7現(xiàn)在隨帶系統(tǒng)存儲(chǔ)管理器(又叫ssm),這是一種統(tǒng)一的命令行界面,由紅帽公司開發(fā),用于管理各種各樣的存儲(chǔ)設(shè)備。目前,有三種可供ssm使用的卷管理后端:LVM、Btrfs和Crypt
準(zhǔn)備ssm,在CentOS/RHEL7上,你需要首先安裝系統(tǒng)存儲(chǔ)管理器??梢酝ㄟ^rpm或yum工具安裝
首先我們來檢查關(guān)于可用硬盤和LVM卷的信息。下面這個(gè)命令將顯示關(guān)于現(xiàn)有磁盤存儲(chǔ)設(shè)備、存儲(chǔ)池、LVM卷和存儲(chǔ)快照的信息。
#ssm list
在這個(gè)例子中,有兩個(gè)物理設(shè)備(“/dev/sda”和“/dev/sdb”)、二個(gè)存儲(chǔ)池(“rhel和vg00”),以及存儲(chǔ)池rhel中創(chuàng)建的兩個(gè)LVM卷(“dev/rhel/root”和“/dev/rhel/swap”),存儲(chǔ)池vg00中創(chuàng)建的一個(gè)LVM卷(/dev/vg00/lv00)。
下面來講解如何通過ssm創(chuàng)建、管理邏輯卷和邏輯卷快照
至少新添加一塊磁盤,執(zhí)行ssm命令顯示現(xiàn)有磁盤存儲(chǔ)設(shè)備、存儲(chǔ)池、LVM卷的信息
可以看到有兩塊空閑磁盤(sdc、sdd)
創(chuàng)建新的LVM池/卷
在這個(gè)示例中,不妨看一下如何在物理磁盤驅(qū)動(dòng)器上創(chuàng)建新的存儲(chǔ)池和新的LVM卷。如果使用傳統(tǒng)的LVM工具,整個(gè)過程相當(dāng)復(fù)雜,需要準(zhǔn)備分區(qū),需要?jiǎng)?chuàng)建物理卷、卷組、邏輯卷,最后還要建立文件系統(tǒng)。不過,若使用ssm,整個(gè)過程一蹴而就!
下面這個(gè)命令的作用是,創(chuàng)建一個(gè)名為mypool的存儲(chǔ)池,創(chuàng)建存儲(chǔ)池中名為lv01的500MB大小的LVM卷,使用XFS文件系統(tǒng)格式化卷,并將它掛載到/mnt/test下。
驗(yàn)證ssm創(chuàng)建的結(jié)果
或執(zhí)行ssm list
將物理磁盤(sdd)添加到LVM池
新設(shè)備添加到存儲(chǔ)池后,存儲(chǔ)池會(huì)自動(dòng)擴(kuò)大,擴(kuò)大多少取決于設(shè)備的大小。檢查名為centos的存儲(chǔ)池的大小執(zhí)行ssm list查看
接下來,我們來擴(kuò)大現(xiàn)有的LVM卷
擴(kuò)大LVM卷,不妨將/dev/mypool/lv01卷的大小增加300MB。
如果你在存儲(chǔ)池中有額外空間,可以擴(kuò)大存儲(chǔ)池中現(xiàn)有的磁盤卷。為此,使用ssm命令的resize選項(xiàng)
執(zhí)行ssm list查看擴(kuò)大后邏輯卷
可以看到邏輯卷擴(kuò)大到800M,即在原來的基礎(chǔ)上增加了300M,但文件系統(tǒng)大小(Fs size)還沒有改變,仍然是原來的大小。
為了讓文件系統(tǒng)識(shí)別增加后的卷大小,你需要“擴(kuò)大”現(xiàn)有的文件系統(tǒng)本身。有不同的工具可用來擴(kuò)大現(xiàn)有的文件系統(tǒng),這取決于你使用哪種文件系統(tǒng)。比如說,有面向EXT2/EXT3/EXT4的resize2fs、面向XFS的xfs_growfs以及面向Btrfs的btrfs,不一而足。
在這個(gè)例子中,我們使用CentOS 7,XFS文件系統(tǒng)在默認(rèn)情況下創(chuàng)建。因而,我們使用xfs_growfs來擴(kuò)大現(xiàn)有的XFS文件系統(tǒng)。
擴(kuò)大XFS文件系統(tǒng)后,查看結(jié)果
或執(zhí)行#df -hT
可以看到LVM擴(kuò)展成功
邏輯卷快照
對(duì)現(xiàn)有的LVM卷(比如/dev/mypool/lv01)生成快照
一旦快照生成完畢,它將作為一個(gè)特殊的快照卷存儲(chǔ)起來,存儲(chǔ)了原始卷中生成快照時(shí)的所有數(shù)據(jù)
每次原LVM中的數(shù)據(jù)更改,都可以手動(dòng)執(zhí)行ssm snapshot生成快照
當(dāng)原LVM數(shù)據(jù)損壞就可以用快照恢復(fù)了
方式一是先將原邏輯卷卸除掛載 #umount /dev/vg00/lv00
然后掛載邏輯卷快照即可 #mount /dev/vg00/lvsp00 /data,就可以正常訪問數(shù)據(jù)了
方式二可以通過 lvconvert把快照的內(nèi)容重新寫回原有的lvm
先將原邏輯卷卸除掛載#umount /dev/vg00/lv00
執(zhí)行l(wèi)vconvert將快照的數(shù)據(jù)合并到原邏輯卷 #lvconvert --merge /dev/vg00/lvsp00
最后掛載原邏輯卷,查看數(shù)據(jù)是否恢復(fù)成功
有磁ssm的具體用法可以參考ssm的幫助手刪頁
如:刪除LVM卷#ssm remove <volume>
刪除存儲(chǔ)池#ssm remove <pool-name>
十、ISCSI網(wǎng)絡(luò)存儲(chǔ)服務(wù)
iscsi實(shí)現(xiàn)網(wǎng)絡(luò)存儲(chǔ),提供存儲(chǔ)端叫 target,使用存儲(chǔ)端叫 initiator。target 上可以提供存儲(chǔ)空間,initiator負(fù)責(zé)連接ISCSI設(shè)備,在ISCSI設(shè)備中創(chuàng)建文件系統(tǒng),以及存取數(shù)據(jù),在 initiator 上看上去是多了一塊硬盤。
服務(wù)器端配置target,準(zhǔn)備做為LUN發(fā)布的ISCSI的存儲(chǔ)設(shè)備(可以是一整塊磁盤、一個(gè)分區(qū)、邏輯卷或RAID陣列)。
本人事先準(zhǔn)備好兩個(gè)邏輯卷作為ISCSI的存儲(chǔ)設(shè)備。
首先安裝target
啟動(dòng)服務(wù)
設(shè)置防火墻
執(zhí)行targetcli工具
注:輸入help可以查看targetcli的幫助
基本思路:
先把準(zhǔn)備共享的塊做出來,創(chuàng)建一個(gè)target,在target上創(chuàng)建lun,一個(gè)lun連接一個(gè)塊
1、創(chuàng)建塊即給要發(fā)布的邏輯卷起個(gè)名字
注:給/dev/vg00/lv00邏輯卷起個(gè)名字叫server0.disk1;給/dev/mypool/lv01邏輯卷起個(gè)名字叫server0.disk2
查看塊如下圖所示:
2、創(chuàng)建 iqn 名字即創(chuàng)建ISCSI對(duì)象
查看ISCSI對(duì)象如下圖所示:
3、設(shè)置ACL即將ISCSI對(duì)象與客戶端IP或主機(jī)名綁定
注意:iqn.2015-06.com.benet:client1是 initiator 的名字,需要在客戶端中設(shè)置的。
4、創(chuàng)建LUN并綁定塊
一個(gè)ISCSI對(duì)象可以創(chuàng)建多個(gè)LUN(LUN0、LUN1……)。
執(zhí)行l(wèi)s查看
啟動(dòng)監(jiān)聽程序
注:172.24.3.5是ISCSI服務(wù)端網(wǎng)卡IP
可以查看/etc/target/saveconfig.json配置文件,該配置文件保存著ISCSI的配置。
在initiator端的配置:
1、安裝軟件
#yum install -y iscsi-initiator-utils
2、給 initiator 起個(gè)名字
#vim /etc/iscsi/initiatorname.iscsi
內(nèi)容如下:
3、啟動(dòng)服務(wù)
#systemctl enable iscsi; systemctl start iscsi
4、發(fā)現(xiàn)存儲(chǔ)
#iscsiadm -m discovery -t st -p 172.24.3.5
5、登錄存儲(chǔ)
#iscsiadm -m node -T iqn.2015-06.com.benet:disk1 -p 172.24.3.5 -l
注:-l表示連接ISCSI目標(biāo);-u表示斷開和ISCSI目標(biāo)的連接
驗(yàn)證客戶端ISCSI連接
剩下來的操作就和管理本地磁盤一樣了。
本文出自 “一盞燭光” 博客,謝絕轉(zhuǎn)載!
更多建議: