自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

磁盤陣列劃分時(shí)LVM的概念和操作

存儲 存儲設(shè)備
磁盤陣列,簡單的說就是將多個(gè)硬盤通過一定的接口和協(xié)議連接起來,然后通過控制器或者磁盤管理設(shè)備來統(tǒng)一管理的存儲設(shè)備。

磁盤陣列,簡單的說就是將多個(gè)硬盤通過一定的接口和協(xié)議連接起來,然后通過控制器或者磁盤管理設(shè)備來統(tǒng)一管理的存儲設(shè)備。下圖是磁盤陣列的實(shí)物圖。

磁陣管理器可以設(shè)置存儲的RAID類型,可以劃分LUN,可以把LUN映射到服務(wù)器上,前提是在光纖交換機(jī)里劃分ZONE來將主機(jī)的HBA卡跟磁陣的HBA綁定,光纖線路圖可參見4.2節(jié)。

這里重點(diǎn)講LVM的概念和操作,看完這篇文檔,你會了解LVM是什么,里面有哪些概念,如何把LUN劃分到LV掛載到服務(wù)器上,雙機(jī)切換是怎么對存儲進(jìn)行處理的。至于存儲如何跟服務(wù)器連上,如何做RAID策略,如何劃分LUN,這里不涉及。

2.概念

2.1 LVM

LVM是 Logical Volume Manager(邏輯卷管理)的簡寫,它由Heinz Mauelshagen在Linux 2.4內(nèi)核上實(shí)現(xiàn),目前***版本為:穩(wěn)定版1.0.5,開發(fā)版 1.1.0-rc2,以及LVM2開發(fā)版。與傳統(tǒng)的磁盤與分區(qū)相比,LVM為計(jì)算機(jī)提供了更高層次的磁盤存儲。它是Linux環(huán)境下對磁盤分區(qū)進(jìn)行管理的一種機(jī)制,LVM是建立在硬盤和分區(qū)之上的一個(gè)邏輯層,來提高磁盤分區(qū)管理的靈活性。通過LVM系統(tǒng)管理員可以輕松管理磁盤分區(qū),如:將若干個(gè)磁盤分區(qū)連接為一個(gè)整塊的卷組(volume group),形成一個(gè)存儲池。管理員可以在卷組上隨意創(chuàng)建邏輯卷組(Logical Volumes),并進(jìn)一步在邏輯卷組上創(chuàng)建文件系統(tǒng)。管理員通過LVM可以方便的調(diào)整存儲卷組的大小,并且可以對磁盤存儲按照組的方式進(jìn)行命名、管理和分配,例如按照使用用途進(jìn)行定義:“development”和“sales”,而不是使用物理磁盤名“sda”和“sdb”。而且當(dāng)系統(tǒng)添加了新的磁盤,通過LVM管理員就不必將磁盤的文件移動到新的磁盤上以充分利用新的存儲空間,而是直接擴(kuò)展文件系統(tǒng)跨越磁盤即可。

2.2 LUN

LUN的全稱是Logical Unit Number,也就是邏輯單元號。我們知道SCSI總線上可掛接的設(shè)備數(shù)量是有限的,一般為6個(gè)或者15個(gè),我們可以用target ID(也有稱為SCSI ID的)來描述這些設(shè)備,設(shè)備只要一加入系統(tǒng),就有一個(gè)代號,我們在區(qū)別設(shè)備的時(shí)候,只要說幾號幾號就ok了。

而實(shí)際上我們需要用來描述的對象,是遠(yuǎn)遠(yuǎn)超過該數(shù)字的,于是我們引進(jìn)了lun的概念,也就是說lun id的作用就是擴(kuò)充了target id。每個(gè)target下都可以有多個(gè)lun device,我們通常簡稱lun device為lun,這樣就可以說每個(gè)設(shè)備的描述就有原來的target X變成target x lun y了,那么顯而易見的,我們描述設(shè)備的能力增強(qiáng)了。就好比,以前你給別人郵寄東西,寫地址的時(shí)候,可以寫:

xx市人民大街54號 xxx(收)

但是自從高樓大廈越來越多,你不得不這么寫:

xx市人民大街54號xx大廈518室 xxx (收)

所以我們可以總結(jié)一下,LUN就是我們?yōu)榱耸褂煤兔枋龈嘣O(shè)備及對象而引進(jìn)的一個(gè)方法而已,一點(diǎn)也沒什么特別的地方。

LUN ID不等于某個(gè)設(shè)備,只是個(gè)號碼而已,不代表任何實(shí)體屬性,在我們的實(shí)際環(huán)境里,我們碰到的LUN可能是磁盤空間,可能是磁帶機(jī),或者是media changer等等。

LUN的神秘之處(相對于一些新手來說)在于,它很多時(shí)候不是什么可見的實(shí)體,而是一些虛擬的對象。比如一個(gè)陣列柜,主機(jī)那邊看作是一個(gè)target device,那為了某些特殊需要,我們要將磁盤陣列柜的磁盤空間劃分成若干個(gè)小的單元給主機(jī)來用,于是就產(chǎn)生了一些什么邏輯驅(qū)動器的說法,也就是比target device級別更低的邏輯對象,我們習(xí)慣于把這些更小的磁盤資源稱之為LUN0,LUN1,LUN2……什么的。而操作系統(tǒng)的機(jī)制使然,操作系統(tǒng)識別的最小存儲對象級別就是LUN Device,這是一個(gè)邏輯對象,所以很多時(shí)候被稱之為Logical Device。

2.3 PV

物理卷physical volume ,典型的物理卷是硬盤分區(qū),但也可以是整個(gè)硬盤或已創(chuàng)建的Software RAID 卷。

2.4 VG

卷組volume group ,卷組是LVM中***抽象層,是由一個(gè)或多個(gè)物理卷所組成的存儲器池。

2.5 LV

邏輯卷logical volume ,邏輯卷相當(dāng)于非LVM系統(tǒng)中的分區(qū),它在卷組上建立,是一個(gè)標(biāo)準(zhǔn)的塊設(shè)備,可以在其上建立文件系統(tǒng)。

3 磁陣操作實(shí)戰(zhàn):用LVM劃分PV/VG/LV

3.1 修改磁盤的分區(qū)格式為lvm格式8e

查看硬盤空間,并創(chuàng)建分區(qū)(按以下命令逐行執(zhí)行)

fdisk -l fdisk /dev/sdb (如果每個(gè)lun一個(gè)分區(qū),就可以不新建分區(qū),只是修改分區(qū)格式) p 查看當(dāng)前分區(qū)情況 n 新建分區(qū) p 主分區(qū) 2 建第2個(gè)主分區(qū)(根據(jù)實(shí)際情況) +20G 設(shè)置分區(qū)大小 t 設(shè)置分區(qū)格式 8e 設(shè)置為linux lvm格式 w 保存設(shè)置 q 退出分區(qū)

3.2 建立PV

為把一個(gè)磁盤或分區(qū)作為PV,首先應(yīng)使用 pvcreate 對其初始化,如對IDE硬盤/dev/hdb,

1) 使用整個(gè)磁盤,

  1. # pvcreate /dev/hdb 

這將在磁盤上建立VG的描述符。

2) 使用磁盤分區(qū),如/dev/hdb1。

使用fdisk 的t 命令把/dev/hda1的分區(qū)類型設(shè)為0x8e,然后運(yùn)行:

  1. # pvcreate /dev/hdb1 

這將在分區(qū)/dev/hda1上建立VG的描述符。

PV初始化命令pvcreate的一般用法為:

pvcreate PV1 [ PV2 ... ] 它的參數(shù)可以是整個(gè)磁盤、分區(qū),也可以是一loop設(shè)備。

3.3 建立VG

在使用pvcreate 建立了PV后,可以用vgcreate 建立卷組,如有PV1、PV2分別是/dev/hda1與/dev/hdb1,使用

  1. # vgcreate testvg /dev/hda1 /dev/hdb1 

將建立一個(gè)名為testvg的卷組,它由兩個(gè)PV:/dev/hda1與/dev/hdb1組成。vgcreate的一般用法為:

  1. # vgcreate [options] VG_name PV1 [PV2 ...] 

其中的可選項(xiàng)包括設(shè)置VG***支持的LV數(shù)、PE大小(缺省為4MB)等。

注意:當(dāng)使用devfs系統(tǒng)時(shí),應(yīng)使用設(shè)備的全名而不能是Symbol Link,如對上例應(yīng)為:

  1. # vgcreate testvg /dev/ide/host0/bus0/target0/lun0/part1\ /dev/ide/host0/bus0/target1/lun0/part1 

3.4 激活VG

在被激活之前,VG與LV是無法訪問的,這時(shí)可用命令:

  1. # vgchange -a y testvg 

激活所要使用的卷組。當(dāng)不再使用VG時(shí),可用

  1. # vgchange -a n testvg 

使之不再可用。

vgchange可用來設(shè)置VG的一些參數(shù),如是否可用( -a [y|n]選項(xiàng))、支持***邏輯卷數(shù)等。

3.5 移除VG

在移除一卷組前應(yīng)確認(rèn)卷組中不再有邏輯卷,首先休眠卷組:

  1. # vgchange -a n testvg 

然后可用vgremove移除該卷組:

  1. # vgremove testvg 

3.6 為VG增加新PV

當(dāng)卷組空間不足時(shí),可以加入新的物理卷來擴(kuò)大容量,這時(shí)可用命令vgextend,如

# vgextend testvg /dev/hdc1 其中/dev/hdc1是新的PV,當(dāng)然在這之前,它應(yīng)使用pvcreate初始化。

3.7 從VG移除PV

在移除PV之前,應(yīng)確認(rèn)該P(yáng)V沒用被LV使用,這可用命令pvdisplay查看,如:

  1. # pvdisplay /dev/hda1 --- Physical volume --- PV Name /dev/hda1 VG Name testvg PV Size 1.95 GB / NOT usable 4 MB [LVM: 122 KB] PV# 1 PV Status available Allocatable yes (but full) Cur LV 1 PE Size (KByte) 4096 Total PE 499 Free PE 0 Allocated PE 499 PV UUID Sd44tK-9IRw-SrMC-MOkn-76iP-iftz-OVSen7 

如這個(gè)PV仍在被使用,則應(yīng)把數(shù)據(jù)傳移到其它PV上。在確認(rèn)它未被使用后,可用命令vgreduce把它從VG中刪除,如:

  1. # vgreduce testvg /dev/hda1 

3.8 創(chuàng)建LV

在創(chuàng)建邏輯卷前,應(yīng)決定LV使用哪些PV,這可用命令vgdisplay與pvdisplay查看當(dāng)前卷組與PV的使用情況。在已有的卷組上創(chuàng)建邏輯卷使用命令lvcreate,如:

  1. # lvcreate -L1500 -ntestlv testvg 

將在卷組testvg上建立一個(gè)1500MB的線性LV,其命名為testlv,對應(yīng)的塊設(shè)備為/dev/testvg/testlv。

  1. # lvcreate -i2 -I4 -l100 -nanothertestlv testvg 

將在卷組testvg上建立名為anothertestlv的LV,其大小為100LE,采用交錯(cuò)方式存放,交錯(cuò)值為2,塊大小為4KB。

如果需要LV使用整個(gè)VG,可首先用vgdisplay 查找 Total PE 值,然后在運(yùn)行l(wèi)vcreate時(shí)指定,如:

  1. # vgdisplay testvg | grep "Total PE" Total PE 10230 # lvcreate -l 10230 testvg -n mylv 

將使用卷組testvg的全部空間創(chuàng)建邏輯卷mylv。

在創(chuàng)建邏輯卷后,就可在其上創(chuàng)建文件系統(tǒng)并使用它。

命令lvcreate的常用方法:

lvcreate [options] -n 邏輯卷名 卷組名 [PV1 ... ] 其中的常用可選項(xiàng)有: "-i Stripes :采用交錯(cuò)(striped)方式創(chuàng)建LV,其中Stripes指卷組中PV的數(shù)量。-I Stripe_size :采用交錯(cuò)方式時(shí)采用的塊大小(單位為KB),Stripe_size必須為2的指數(shù):2N ,N=2,3...9。-l LEs :指定LV的邏輯塊數(shù)。-L size :指定LV的大小,其后可以用K、M、G表示KB、MB、GB。-s :創(chuàng)建一已存在LV的snapshot卷。-n name :為LV指定名稱。

3.9 刪除LV

為刪除一個(gè)邏輯卷,必須首先從系統(tǒng)卸載其上的文件系統(tǒng),然后可用lvremove刪除,如:

  1. # umount /dev/testvg/testlv # lvremove /dev/testvg/testlv lvremove -- do you really want to remove "/dev/testvg/testlv"? [y/n]: y lvremove -- doing automatic backup of volume group "testvg" lvremove -- logical volume "/dev/testvg/testlv" successfully removed 

3.10 LVM操作全流程演示

在本節(jié)中,將在3塊SCSI硬盤:/dev/sda,/dev/sdb,/dev/sdc上按步建立LVM。

3.10.1 修改分區(qū)格式為lvm分區(qū)

fdisk /dev/sda (如果每個(gè)lun一個(gè)分區(qū),就可以不新建分區(qū),只是修改分區(qū)格式) t 設(shè)置分區(qū)格式 8e 設(shè)置為linux lvm格式 w 保存設(shè)置 q 退出分區(qū)

3.10.2 準(zhǔn)備分區(qū)

首先要做的是初始化硬盤,建立PV,這將會刪除硬盤上的原有數(shù)據(jù)。在此,用整個(gè)硬盤為PV:

# pvcreate /dev/sda # pvcreate /dev/sdb # pvcreate /dev/sdc pvcreate在每個(gè)硬盤的起始端建立卷組描述區(qū)( volume group descriptor area, VGDA)。

3.10.3 創(chuàng)建卷組

利用上面三個(gè)PV建立卷組:

  1. # vgcreate test_vg /dev/sda /dev/sdb /dev/sdc/ 然后可用vgdisplay 查看/驗(yàn)證卷組的信息:# vgdisplay --- Volume Group --- VG Name test_vg VG Access read/write VG Status available/resizable VG # 1 MAX LV 256 Cur LV 0 Open LV 0 MAX LV Size 255.99 GB Max PV 256 Cur PV 3 Act PV 3 VG Size 1.45 GB PE Size 4 MB Total PE 372 Alloc PE / Size 0 / 0 Free PE / Size 372/ 1.45 GB VG UUID nP2PY5-5TOS-hLx0-FDu0-2a6N-f37x-0BME0Y 

其中最重要的前三條要正確,且VG size是以上三個(gè)硬盤容量之和。

3.10.4 建立LV

在確定卷組test_vg正確后,就可在其上創(chuàng)建LV。LV的大小可在VG大小范圍內(nèi)任意選擇,如同在硬盤上分區(qū)。

建立線性方式LV

在test_vg上建立一個(gè)大小為1GB的線性方式LV:

# lvcreate –L 1G –n test_lv test_vg lvcreate -- doing automatic backup of "test_vg" lvcreate -- logical volume "/dev/test_vg/test_lv" successfully created

建立交錯(cuò)方式LV

在test_vg上建立一個(gè)大小為1GB的交錯(cuò)方式LV,交錯(cuò)參數(shù)為4KB:

# lvcreate -i3 -I4 -L1G -ntest_lv test_vg lvcreate -- rounding 1048576 KB to stripe boundary size 1056768 KB / 258 PE lvcreate -- doing automatic backup of "test_vg" lvcreate -- logical volume "/dev/test_vg/test_lv" successfully created

注意:如果使用 -i2參數(shù),則LV將僅使用test_vg中的兩塊硬盤。

3.10.5 建立文件系統(tǒng)

在LV test_lv創(chuàng)建后,就可在其上建立文件系統(tǒng),

如,ext2/ext3系統(tǒng): # mke2fs /dev/test_vg/test_lv 如,reiserfs: #mkreiserfs /dev/test_vg/test_lv

3.10.6 測試文件系統(tǒng)

安裝LV:

# mount /dev/test_vg/test_lv /mnt # df Filesystem 1k-blocks Used Available Use% Mounted on /dev/hda1 1311552 628824 616104 51% / /dev/test_vg/test_lv 1040132 20 987276 0% /mnt

則可以通過/mnt訪問LV。

四、磁陣操作流程圖和實(shí)物圖

4.1 磁陣映射到服務(wù)器的流程圖

每個(gè)籠子有15塊磁盤,分出14塊盤做raid10類的RAID Group,剩下一塊磁盤做Hot Spare盤,當(dāng)RAID Group中的某塊磁盤壞掉的時(shí)候,Hot Spare盤就會自動頂替壞盤,Hot Spare盤是對所有RAID Group都可用的。

RAID 10(RAIS0 + RAID1)的示意圖:

4.2 磁陣與服務(wù)器之間的光纖線路圖

4.3 刀片機(jī)框

這個(gè)刀片機(jī)框的后面,刀片機(jī)有自己的管理器,而且有刀片機(jī)的光纖交換機(jī),管理器和光纖交換機(jī)都有主備。

4.4 光纖插線板

刀片機(jī),PC服務(wù)器器,光纖交換機(jī),磁陣都是連在光纖插線板上的,各部件的連接是在光纖插線板上進(jìn)行的:

4.5 光纖交換機(jī)

上下是主備光纖交換機(jī),在光纖交換機(jī)里劃分ZONE來將主機(jī)的HBA卡跟磁陣的HBA綁定,這樣在磁陣的控制器里就可以看到主機(jī)了

4.6 磁陣

磁陣有自己的管理器,可以用筆記本連上,操作磁陣,做RAID策略和劃分LUN。

磁陣管理器大圖

 

4.7 磁陣雙機(jī)管理相關(guān)腳本

以MDSP的雙機(jī)腳本VGLVAgent.rar和出差期間的FS雙機(jī)腳本vg.rar為例。從腳本來看雙機(jī)切換對存儲處理的整個(gè)主體流程為:

1)主機(jī)文件系統(tǒng)解掛載

  1. umount /mdsp/mi 

PS:此操作是main.cf文件里直接調(diào)用命令來執(zhí)行,在上面的腳本里沒有。

2)主機(jī)VG去激活

  1. lvm vgchange -a n ${vgName} > /dev/null 2>&1 

PS:如果LV綁定了裸設(shè)備需要用raw命令解除綁定

3)備機(jī)VG激活

  1. lvm vgchange -a y ${vgName} > /dev/null 2>&1 

PS:如果VG的狀態(tài)不是exported狀態(tài)的,則需要導(dǎo)入VG

  1. lvm vgimport ${vgName} > /dev/null 2>&1 

4)備機(jī)LV激活

  1. lvm lvchange -a y /dev/${vgName}/${lvName} >/dev/null 2>&1 

5)備機(jī)文件系統(tǒng)掛載

  1. mount /dev/test_vg/test_lv /mdsp/mi 

從腳本來看,雙機(jī)操作的對象是VG和LV,不涉及LUN。

責(zé)任編輯:武曉燕 來源: 唐合易成
相關(guān)推薦

2017-08-17 09:32:03

RAID磁盤陣列

2009-01-09 22:29:38

服務(wù)器虛擬化磁盤陣列

2018-03-07 10:17:59

磁盤陣列RAID模式

2009-03-10 17:43:54

Linux操作系統(tǒng)磁盤陣列

2010-03-10 17:18:17

Linux磁盤陣列

2009-09-10 09:24:36

Linux磁盤陣列Linux操作系統(tǒng)

2017-09-06 08:43:18

RAID磁盤陣列

2018-09-20 10:37:56

RAID技術(shù)磁盤陣列

2018-07-12 09:25:07

磁盤陣列數(shù)據(jù)恢復(fù)

2021-06-16 08:00:00

存儲磁盤數(shù)據(jù)中心

2016-09-13 18:12:53

RAID存儲技術(shù)

2018-02-06 08:48:52

RAID5磁盤陣列修復(fù)

2018-08-16 10:47:53

raid0磁盤陣列雙硬盤

2009-03-12 09:16:46

2018-01-05 10:39:00

服務(wù)器磁盤陣列

2020-05-29 16:57:27

磁盤陣列配置

2018-02-06 10:07:18

RAID 5磁盤陣列數(shù)據(jù)恢復(fù)

2015-06-10 11:36:50

戴爾云計(jì)算anycloud

2018-02-09 15:23:54

服務(wù)器磁盤陣列RAID

2019-01-15 09:55:24

RAID磁盤陣列數(shù)據(jù)存儲
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號