Linux centos7/rhel7新特性詳解(2)

2018-07-31 14:46 更新

七、鏈路聚合

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,即將eno16777736eno33554960兩塊網(wǎng)卡加入到team0

執(zhí)行nmcli connection show命令查看team0-1team0-2的狀態(tài)



上圖可以看出team0-1team0-2沒有連接,執(zhí)行下列命令連接team0-1team0-2

執(zhí)行ifconfig,發(fā)現(xiàn)網(wǎng)卡的地址都一樣了,這樣交換機(jī)才能轉(zhuǎn)發(fā)包到同一個(gè)邏輯端口

最后給team0 分配一個(gè)IP地址(也可以直接用圖形工具設(shè)置IP地址)

測試一下,先看看team0當(dāng)前狀態(tài)

關(guān)掉eno16777736的連接,自動(dòng)切換到第二個(gè)物理端口了,測試成功

八、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è)文件,我們可以修改對應(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種模式對于系統(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如何對磁盤進(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)加載

測試是否能自動(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使用

對于普通的分區(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

對已經(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)可用。

快照是特殊的邏輯卷,只可以對邏輯卷做快照。邏輯卷快照和需要做快照的邏輯卷必須在同一個(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)我們在邏輯卷里面添加數(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)大?。‵s 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ò)展成功

邏輯卷快照

對現(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對象

查看ISCSI對象如下圖所示:

3、設(shè)置ACL即將ISCSI對象與客戶端IP或主機(jī)名綁定

注意:iqn.2015-06.com.benet:client1是 initiator 的名字,需要在客戶端中設(shè)置的。

4、創(chuàng)建LUN并綁定塊

一個(gè)ISCSI對象可以創(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)載!

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)