RAID 及 LVM

本節主要介紹軟RAID的實現和LVM的創建等等

RAID:多個磁盤合成一個“陣列”來提供更好的性能、冗余,或者兩者都提供

提高IO能力 :???? 磁盤并行讀寫

提高耐用性:???? ?磁盤冗余來實現

級別:??? 多塊磁盤組織在一起的工作方式有所不同

RAID實現的方式:

外接式磁盤陣列:通過擴展卡提供適配能力

內接式RAID:主板集成RAID控制器

安裝OS前在BIOS里配置

軟件RAID:通過OS實現

RAID級別:

RAID-0: (條帶集)

讀、寫性能提升;

可用空間:N*min(S1,S2,…)

無容錯能力

最少磁盤數:2, 2+

RAID-1: (兩兩互為鏡像)

讀性能提升、寫性能略有下降;

可用空間:1*min(S1,S2,…)

有冗余能力

最少磁盤數:2, 2N

RAID-4:(最少3塊硬盤)(由于校驗位專用盤使用頻繁易壞,淘汰)

多塊數據盤異或運算值存于專用校驗盤

RAID-5:(校驗位均勻寫在每塊磁盤)(犧牲磁盤空間換取容錯性)

讀、寫性能提升 ,如若損壞一塊硬盤,性能急劇下降

可用空間:(N-1)*min(S1,S2,…)

有容錯能力:允許最多1塊磁盤損壞(有一塊備用盤)

最少磁盤數:3, 3+

RAID-6:

讀、寫性能提升

可用空間:(N-2)*min(S1,S2,…)

有容錯能力:允許最多2塊磁盤損壞

最少磁盤數:4, 4+

RAID-10: (比01更好)

讀、寫性能提升

可用空間:N*min(S1,S2,…)/2

有容錯能力:每組鏡像最多只能壞一塊

最少磁盤數:4, 4+

RAID-01 ????????????多塊磁盤先實現RAID0,再組合成RAID1

RAID-50 ????????????多塊磁盤先實現RAID5,再組合成RAID0

JBOD:Just a Bunch Of Disks

功能:將多塊磁盤的空間合并一個大的連續空間使用

可用空間:sum(S1,S2,…)

RAID7 ???????可以理解為一個獨立存儲計算機,自身帶有操作系統和管理工具,可以獨立 運行,理論上性能最高的RAID模式

軟RAID

mdadm:為軟RAID提供管理界面

為空余磁盤添加冗余

結合內核中的md(multi devices)

RAID設備可命名為/dev/md0、/dev/md1、/dev/md2、/dev/md3等

mdadm:模式化的工具

命令的語法格式:mdadm [mode] [options]

支持的RAID級別:LINEAR, RAID0, RAID1, RAID4, RAID5, RAID6, RAID10

模式: 創建:-C 裝配: -A 監控: -F 管理:-f, -r, -a

<raiddevice>: /dev/md#

<component-device>: 任意塊設備

-C: 創建模式

-n #: 使用#個塊設備來創建此RAID

-l #:指明要創建的RAID的級別

-a {yes|no}:自動創建目標RAID設備的設備文件

-c CHUNK_SIZE: 指明塊大小,單位k

-x #: 指明空閑盤的個數

-D:顯示raid的詳細信息 mdadm -D /dev/md#

管理模式:

-f: 標記指定磁盤為損壞

-a: 添加磁盤

-r: 移除磁盤

觀察md的狀態:?? ?cat /proc/mdstat

軟RAID的實現實驗:

  1. 劃分分區:fdisk /dev/sdb?? (n?? p?? 1?? 1?? +2G? t?? fd)[有四塊磁盤,劃分2G分區,一塊備用磁盤]

dd?? if=/dev/zero?? of=/dev/sdb1? //清空sdb1分區(之前劃分過分區,非必須)

  1. 使用mdadm創建并定義RAID設備

mdadm -C /dev/md0 -a yes -l 5 -n 3 -x 1 ?-c?? 32? /dev/sd{b1 ,c1,d1,e1}

  1. 查看RAID信息

mdadm?? -D? /dev/md0???? //查看RAID信息

  1. 用文件系統對每個RAID設備進行格式化 ?ext4??? /dev/md0

mke2fs -j /dev/md0

  1. 寫入配置文件: UUID=xxx ?/mnt/raid?? ext4??? defaults? 0 0
  2. 生成配置文件: mdadm –D –s ??RAID設備? >> /etc/mdadm.conf
  3. 取消掛載: umount??? /mnt/raid
  4. 停止設備: mdadm –S /dev/md0
  5. 激活設備: mdadm –A –s /dev/md0

測試RAID設備

使用mdadm檢查RAID設備的狀況 ???????mdadm –detail|D /dev/md0

增加新的成員 ?????????????mdadm ?–G ?/dev/md0 ?–n4 ?–a ?/dev/sdf1??? //實現擴展

resize2fs?? /dev/md0????? //實現同步文件系統(試用ext系列) //實現新加成員格式化

xfs_growfs??? /mnt/raid(掛載點) //實現同步文件系統 (試用xfs系列)? //實現新加成員格式化

模擬磁盤故障???? ?mdadm ?/dev/md0 ?-f ?/dev/sda1

移除磁盤 ???mdadm ?/dev/md0 ?–r ?/dev/sda1

從軟件RAID磁盤修復磁盤故障

  • 替換出故障的磁盤然后開機
  • 在備用驅動器上重建分區
  • mdadm /dev/md0 -a /dev/sda1

mdadm、/proc/mdstat及系統日志信息

生成配置文件:??? mdadm –D –s ??RAID設備? >> /etc/mdadm.conf

停止設備:?????????? mdadm –S /dev/md0

激活設備:????????? mdadm –A –s /dev/md0 激活

強制啟動:?????????? mdadm –R /dev/md0

刪除raid信息:?????? mdadm –zero-superblock /dev/sdb1

刪除RAID

  1. 取消掛載: umount???? /mnt/md0
  2. 刪除配置文件:UUID=xxx /mnt/raid?? ext4??? defaults? 0 0
  3. 查看RAID信息? ? ?mdadm?? -D? /dev/md0???? //查看RAID信息
  1. 刪除配置文件: rm?? –f?? /etc/mdadm.conf
  2. 停止設備: mdadm –S /dev/md0
  3. 刪除raid信息: mdadm –zero-superblock /dev/sdb1
  4. 刪除磁盤分區(RAID信息有殘留)
  5. dd if=/dev/zero?? of=/dev/sdb?? (如若先刪除的分區,沒有刪除RAID信息,即可用dd命令實現刪除RAID信息)

作業:實現RAID10

madam?? -C?? /dev/md0?? -a yes? -l 10? -n4?? /dev/sd{b.c.d.e}

或者:madam?? -C?? /dev/md0?? -a yes? -l 1 –n2? /dev/sd {b,c}

madam?? -C?? /dev/md1? -a yes? -l 1? -n2? /dev/sd{d,e}

madam?? -C?? /dev/md2?? -a yes? -l 0?? -n2 /dev/md{0,1}

邏輯卷管理器(LVM

允許對卷進行方便操作的抽象層,包括重新設定文件系統的大小

允許在多個物理設備間重新組織文件系統

  • 將設備指定為物理卷
  • 用一個或者多個物理卷來創建一個卷組
  • 物理卷是用固定大小的物理區域(Physical Extent,PE)來定義的
  • 在物理卷上創建的邏輯卷 是由物理區域(PE)組成
  • 可以在邏輯卷上創建文件系統

pv管理工具

顯示pv信息: ??????pvs:簡要pv信息顯示???????????? ?pvdisplay

創建pv :??????? pvcreate???? ?/dev/DEVICE

vg管理工具:

顯示卷組:? ?vgs ?????????vgdisplay

創建卷組 vgcreate [-s #[kKmMgGtTpPeE]] VolumeGroupName PhysicalDevicePath [PhysicalDevicePath…]

-s??? //指定pe的大小

管理卷組 vgextend VolumeGroupName PhysicalDevicePath [PhysicalDevicePath…] vgreduce VolumeGroupName PhysicalDevicePath [PhysicalDevicePath…]

刪除卷組 :????? 先做pvmove,再做vgremove

lv管理工具

顯示邏輯卷:? ?lvs??? ?Lvdisplay

創建邏輯卷lvcreate ?-L ?#[mMgGtT] ?-n ?NAME VolumeGroup(-L 指定大小? )

lvcreate ?-l ?60%VG ?-n ?mylv testvg? (-l?? 以pe個數為單位)

lvcreate -l 100%FREE -n ?yourlv ?testvg ??//將剩余空間全部使用

刪除邏輯卷???? ?lvremove ?/dev/VG_NAME/LV_NAME

重設文件系統大小

fsadm [options] resize device [new_size[BKMGTEP]]

resize2fs [-f] [-F] [-M] [-P] [-p] device [new_size]

邏輯卷的實際名稱:? /dm-數字

擴展和縮減邏輯卷

擴展邏輯卷: lvextend -L [+]#[mMgGtT] /dev/VG_NAME/LV_NAME? (可在線擴展)

resize2fs ?/dev/VG_NAME/LV_NAME???? //同步邏輯卷

lvectend ?-r ?-l ?+100%FREE ??/dev/VG_NAME/LV_NAME?? //擴展同時格式化

lvresize ?-r ?-l ?+100%FREE ??/dev/VG_NAME/LV_NAME

縮減邏輯卷: umount ?/dev/VG_NAME/LV_NAME ?(離線縮減,只適用于ext系列)

e2fsck ?-f ?/dev/VG_NAME/LV_NAME??? //

resize2fs ?/dev/VG_NAME/LV_NAME #[mMgGtT]

lvreduce ?-L [-]#[mMgGtT] ?/dev/VG_NAME/LV_NAME mount

跨主機遷移卷組示例

原計算機:? vgrename?? vg0?? centos6vg0

lvrename?? /dev/centos6vg0/lv0??? /dev/centos6vg0/lv0

1 在舊系統中,umount所有卷組上的邏輯卷 ?: umount?? /mnt/lv0

2 vgchange –a n centos6vg0? //禁用巻組???????????????????? ?lvdisplay??? 查看

3 vgexport ?cebtos6vg0 ??導出邏輯卷?????? ?pvscan?? 查看?? ?vgdisplay?? 查看

4 ?拆下舊硬盤

在目標計算機上

5 在新系統中安裝舊硬盤,并 導入vgimport? centos6vg0.

6 vgchange? -ay? centos6vg0???? //激活巻組

7? mount 所有巻組上的邏輯卷

使用分區創建邏輯卷示例

  1. 創建分區fdisk /dev/sdc??? ( n? p 1 1? +2G?? t?? 1?? 8e )
  2. 創建物理卷 :?? pvcreate????? /dev/sd{b1,c1}
  3. 顯示pv信息: pvs:簡要pv信息顯示???????????? ?pvdisplay
  4. 為卷組分配物理卷: vgcreate? -s?? 16M? ?vg0?? /dev/sd{b1,c1}
  5. 顯示卷組: ?vgs ??或?????? vgdisplay
  6. 從卷組創建邏輯卷: lvcreate ?-L ?256M? –n ?lv0 ?vg0
  7. 顯示邏輯卷: ?lvs?? 或? ?Lvdisplay
  8. 創建文件系統:ext4 /dev/vg0/lv0

make2fs?? -j?? /dev/vg0/data

  1. 掛載:寫入文件:UUID=xxx /mnt/lv0?? ext4? defaults?? 0? 0

mount ??/dev/vg0/data ??/mnt/data?? (臨時有效)

擴展邏輯卷示例

  1. 新加硬盤, echo ‘ – – – ‘ > /sys/class/scsi_host/host2/scan?? ?//使硬盤識別
  2. pvcreate /dev/sdd
  3. vgextend vg0? /dev/sdd
  4. lvextend -L? +5G? /dev/vg0/lv0?? //新增加5G
  5. resize2fs /dev/vg0/lv0??? //同步邏輯卷(ext系列)

縮減邏輯卷示例

  1. 先備份
  2. umount /mnt/lv0????? 先取消掛載
  3. 檢查文件系統完整性 fsck?? -f?? /dev/vg0/lv0
  4. resize2fs /dev/vg0/lv0?? 10G??? ?//
  5. lvreduce -L? 10G?? /dev/vg0/lv0?? //縮減邏輯卷
  6. mount -a? //自動掛載

刪除vg中的pv示例

1.pvmove? /dev/sdd???? //將sdd上的空間遷移到同巻組的其他設備中

2.vgreduce vg0? /dev/sdd??? //在巻組vg0移除/dev/sdd

3.pvremove /dev/sdd???? //移除物理卷

使用LVM快照

為現有邏輯卷創建快照

lvcreate -l 64 -s -n data-snapshot -p r /dev/vg0/data

掛載快照

mkdir -p /mnt/snap

mount -o ro /dev/vg0/data-snapshot /mnt/snap

恢復快照

umount ?/dev/vg0/data-snapshot

umount ?/dev/vg0/data

lvconvert ??–merge?? ?/dev/vg0/data-snapshot???? //合并快照

刪除快照

umount ??/mnt/databackup

lvremove ?/dev/vg0/databackup

本文來自投稿,不代表Linux運維部落立場,如若轉載,請注明出處:http://www.www58058.com/97029

(0)
qljqlj
上一篇 2018-04-25 19:24
下一篇 2018-04-25 21:23

相關推薦

  • Linux文件管理及bash特性

    一、Linux上的文件管理類命令都有哪些,其常用的使用方法及其相關示例演示 mkdir,rmdir,pwd,cd,cp,touch,mv 1.mkdir:創建目錄 -p:遞歸創建多個目錄 2.rmdir:刪除空目錄 3.pwd:顯示當前工作目錄 4.cd:切換當前目錄 5.cp:復制文件 單源復制:cp [OPTION]…[T] SOURCE DEST???…

    2018-06-29
  • 09 文件管理

    一、 文件的3種權限 -r ? ?read -w ?write -e ? execute      

    Linux筆記 2018-04-05
  • N31第五周

    1、簡述rpm與yum命令的常見選項,并舉例 一.rpm包管理 CentOS系統上使用rpm命令管理程序包:安裝、卸載、升級、查詢、校驗、數據庫維護安裝 (1)安裝[install-options] rpm {-i | –install} [install-options] PACKAGE_FILE … -h:使用”#&…

    Linux筆記 2018-07-30
  • 數組復制 expect

    變量????????????????????????????????????????????????????????????????? ? ? ? ? ? ? ? ? ? ?? /* 內存空間 存儲單個元素 */ 數組 /* 連續的內存空間 存儲多個元素 */ /* 多個變量的集合 */ 數組名 聲明數組 /* declare -a Ary_Name */ …

    Linux筆記 2018-07-08
  • 簡述osi七層模型和TCP/IP五層模型

        OSI七層模型各層定義 物理層:提供為建立、維護和拆除物理鏈路所需要的機械的、電氣的、功能的和規程的特性;有關的物理鏈路上傳輸非結構的位流以及故障檢測指示。 數據鏈路層:在網絡層實體間提供數據發送和接收的功能和過程;提供數據鏈路的流控。 網絡層:控制分組傳送系統的操作、路由選擇、擁護控制、網絡互連等功能,它的作用是將具體的物理傳送…

    2018-06-15
  • 第二周作業

    第二周

    Linux筆記 2018-05-20
欧美性久久久久