Linux磁盤管理進階

Linux磁盤管理進階


  • dd命令

  • SWAP與移動介質

  • 磁盤配額

  • RAID


dd命令

dd - convert and copy a file
Copy a file, converting and formatting according to the operands.

dd命令基本用法:

ddif=/PATH/FROM/SRC of=/PATH/TO/DEST
bs=#:block size, 復制單元大小count=#:復制多少個bs
skip=blocks從開頭忽略blocks個ibs大小的塊
seek=blocks從開頭忽略blocks個obs大小的塊

常用選項:

conv=conversion[,conversion...] 用指定的參數轉換文件。    
    lcase 把大寫字符轉換為小寫字符    
    ucase 把小寫字符轉換為大寫字符
    swab 交換輸入的每對字節
    noerror 出錯時不停止
    notrunc 不截短輸出文件
    sync 把每個輸入塊填充到ibs個字節,不足部分用空(NUL)字符補齊

使用dd命令對磁盤進行操作進,最好使用塊設備文件;

使用示例:

創建兩個文件:

[root@centos7 ~]#echo {1..9} |tr -d [:space:] > f1
[root@centos7 ~]#echo {a..z} |tr -d [:space:] > f2
[root@centos7 ~]#cat f1
123456789[root@centos7 ~]#
[root@centos7 ~]#cat f2
abcdefghijklmnopqrstuvwxyz[root@centos7 ~]#
[root@centos7 ~]#
[root@centos7 ~]#dd if=f1 of=f2 bs=1 count=3 
3+0 records in
3+0 records out
3 bytes (3 B) copied, 0.00136469 s, 2.2 kB/s
[root@centos7 ~]#cat f2
123[root@centos7 ~]#     # 從f1中復制了3字節的內容覆蓋了f2
[root@centos7 ~]#dd if=f1 of=f2 bs=1 count=3 skip=3 seek=3
3+0 records in
3+0 records out
3 bytes (3 B) copied, 0.000396399 s, 7.6 kB/s
[root@centos7 ~]#cat f2
abc456[root@centos7 ~]#  # 從f1中跳過了3字節并復制其后的3字節插入到f2的3字節后面
[root@centos7 ~]#dd if=f1 of=f2 bs=1 count=3 skip=3 seek=3 conv=notrunc  # 不截斷f2后面的內容 
3+0 records in
3+0 records out3 bytes (3 B) copied, 0.00277328 s, 1.1 kB/s
[root@centos7 ~]#cat f2
abc456ghijklmnopqrstuvwxyz[root@centos7 ~]#

備份MBR:

[root@centos7 ~]#dd if=/dev/sda of=/testdir/sda.mbr bs=512 count=1
1+0 records in
1+0 records out
512 bytes (512 B) copied, 0.000380182 s, 1.3 MB/s
[root@centos7 ~]#

磁盤拷貝:

[root@centos7 ~]#dd if=/dev/sda of=/dev/sdb

破壞MBR中的bootloader:

[root@centos7 ~]#dd if=/dev/zero of=/dev/sda bs=64 count=1 seek=446
1+0 records in
1+0 records out
64 bytes (64 B) copied, 0.00180836 s, 35.4 kB/s
[root@centos7 ~]#

破壞MBR中的分區表:

[root@centos7 ~]#dd if=/dev/zero of=/dev/sda bs=1 count=64 skip=446 seek=446
64+0 records in
64+0 records out
64 bytes (64 B) copied, 0.00589307 s, 10.9 kB/s
[root@centos7 ~]#

wKiom1fLfWjxcFH2AABfFjxJ6C0113.png

可見,sda的分區已經被破壞!

修復sda分區表:

[root@centos7 ~]#dd if=/testdir/sda.mbr of=/dev/sda bs=512 count=1 
1+0 records in
1+0 records out
512 bytes (512 B) copied, 0.000348826 s, 1.5 MB/s
[root@centos7 ~]#partprobe # 同步分區表
[root@centos7 ~]#

wKioL1fLfY_ydC_QAAC-IoykDts725.png

sda被成功修復!

備份:

dd if=/dev/sdx of=/dev/sdy
    將本地的/dev/sdx整盤備份到/dev/sdy
dd if=/dev/sdx of=/path/to/image
    將/dev/sdx全盤數據備份到指定路徑的image文件
dd if=/dev/sdx | gzip >/path/to/image.gz
    備份/dev/sdx全盤數據,并利用gzip工具進行壓縮,保存到指定路徑
[root@centos7 ~]#dd if=/dev/sdb1 |gzip > /testdir/image.gz
409600+0 records in
409600+0 records out
209715200 bytes (210 MB) copied, 9.02236 s, 23.2 MB/s
[root@centos7 ~]#ll /testdir/image.gz
-rw-r--r--. 1 root root 139129150 Aug 29 08:16 /testdir/image.gz
[root@centos7 ~]#

恢復:

dd if=/path/to/image of=/dev/sdx
將備份文件恢復到指定盤
gzip -dc /path/to/image.gz | dd of=/dev/sdx將壓縮的備份文件恢復到指定盤
[root@centos7 ~]#gzip -cd /testdir/image.gz |dd of=/dev/sdc
409600+0 records in
409600+0 records out
209715200 bytes (210 MB) copied, 6.16743 s, 34.0 MB/s
[root@centos7 ~]#
拷貝內存資料到硬盤
dd if=/dev/mem of=/root/mem.bin bs=1024
將內存里的數據拷貝到root目錄下的mem.bin文件
從光盤拷貝iso鏡像
dd if=/dev/cdrom of=/root/cd.iso
拷貝光盤數據到root文件夾下,并保存為cd.iso文件
銷毀磁盤數據
dd if=/dev/urandom of=/dev/sda1
利用隨機的數據填充硬盤,在某些必要的場合可以用來銷毀數據。執行此操作以后,/dev/sda1將無法掛載,創建和拷貝操作無法執行。

得到最恰當的block size: 通過比較dd指令輸出中所顯示的命令執行時間,即可確定系統最佳的block size大小

wKiom1fLffOD6_InAADR_atN1Xo942.png

測試硬盤讀寫速度:通過上兩個命令輸出的執行時間,可以計算出測試硬盤的讀/寫速度

[root@centos7 ~]#dd if=/root/1Gb.file bs=64k |dd of=/dev/null
[root@centos7 ~]#dd if=/dev/zero of=/root/1Gb.file bs=1024 count=1000000

wKioL1fLfhXTS-ESAACF2isvqX8970.png

修復磁盤

[root@centos7 ~]#dd if=/dev/sda of=/dev/sda

當硬盤較長時間(比如1,2年)放置不使用后,磁盤上會產生消磁點。當磁頭讀到這些區域時會遇到困難,并可能導致I/O錯誤。當這種情況影響到硬盤的第一個扇區時,可能導致硬盤報廢。上邊的命令有可能使這些數據起死回生。且這個過程是安全,高效的。


系統配額

SWAP


換分區是系統RAM(裸設備)的補充,涉及到的基本命令有:mkswap, swapon, swapoff,
其優先級范圍為0-32767,如果用戶未指定swap的優先級,內核會給swap指定一個優先級,此值從-1開始,每加一個優先級遞減一;用戶指定的優
先級(是正數)永遠高于核心缺省指定的優先級(是負數);swap分區即可以是一個整個硬盤,也可以是一個分區(要指定分區類型)或者是將一個文件創建成swap分區。

mkswap - set up a Linux swap area
swapon, swapoff - enable/disable devices and files for paging and swapping

基本設置包括:

創建交換分區或者文件

使用mkswap寫入特殊簽名

在/etc/fstab文件中添加適當的條目

使用swapon -a 激活交換空間

即:swap分區—> 格式化—> 掛載–> 激活

創建一個swap分區:

wKiom1fLfkqAAHOZAAB4AMYpbSo336.png

[root@centos7 ~]#dd if=/dev/zero of=/swapfile bs=1M count=1024
1024+0 records in
1024+0 records out
1073741824 bytes (1.1 GB) copied, 1.75694 s, 611 MB/s
[root@centos7 ~]#ls

wKioL1fLfoSz-4EZAAAqfEtkcGw199.png

格式化swap分區:

[root@centos7 ~]#mkswap /dev/sdc1Setting up swapspace version 1, size = 10485756 KiB
no label, UUID=a0ac8c08-23b9-4672-bee3-449e949cea8c

[root@centos7 ~]#mkswap /swapfile Setting up swapspace version 1, size = 1048572 KiB
no label, UUID=4659cff5-5718-4119-a70e-6283ca443509
[root@centos7 ~]#

寫入/etc/fstab

wKiom1fLfpeTshawAACcU6DlWpk929.png

[root@centos7 /]#swapon -a    # 激活/etc/fstab中的swap類型
[root@centos7 /]#swapon -s
Filename                                Type            Size    Used    Priority
/dev/sdc1                               partition       10485756        0       10
/swapfile                               file    1048572 0       -1

wKiom1fLfrXRye9wAABBaWfVunQ485.png

由此,你當然可以想到,mkfs命令應該把一個文件“做成”普通分區,并且掛載之:

[root@centos7 ~]#dd if=/dev/zero of=/testdir/partfile bs=1M count=1
1+0 records in
1+0 records out
1048576 bytes (1.0 MB) copied, 0.00416736 s, 252 MB/s

[root@centos7 ~]#mkfs.ext4 /testdir/partfile  # mkfs.xfs不行
[root@centos7 ~]#blkid /testdir/partfile
/testdir/partfile: UUID="e925d5a7-6def-430c-99e0-c4dc966caadf" TYPE="ext4" 
[root@centos7 ~]#
[root@centos7 ~]#mkdir /testdir/partfile
[root@centos7 ~]#mount -a
[root@centos7 ~]#mount |grep /testdir/
/testdir/partfile on /mnt/partfile type ext4 (rw,relatime,seclabel)
[root@centos7 ~]#
[root@centos7 ~]#cd /mnt/partfile/
[root@centos7 /mnt/partfile]#ls
lost+found
[root@centos7 /mnt/partfile]#

移動介質

所有的移動介質要想被內核認可,必須得掛載,而掛載意味著使外來的文件系統看起來如同是主目錄樹的一部分,且必須要遵守:訪問前、介質必須被掛載;摘除時,介質必須被卸載。

按照默認設置,非根用戶只能掛載某些設備(光盤、DVD、USB等等), 且掛載點通常在/media 或/mnt下。

如何使用光盤:

eject命令卸載或彈出磁盤,刻錄光盤可用以下命令:

wodim–v –eject centos.iso

創建IOS文件可用以下命令:

cp/dev/cdrom /root/centos7.isomkisofs -r -o /root/etc.iso /etc

手工掛載

mount /dev/cdrom/mnt/

那如何在/etc/fstab文件里面掛載iso文件呢?如何把普通文件也掛載到一個目錄上呢?

wKioL1fLfzXQ3H7zAABnTgAXrTM464.png

wKioL1fLf0WSsX4GAABCilVAwd0169.png

wKiom1fLf1TQxwErAADN9OoZEJU728.png


磁盤配額


謂磁盤配額,就是超級用戶給普通用戶分配一定的磁盤空間,以防止普通用戶占用大量的磁盤空間;
磁盤配額是在內核中執行,以文件系統為單位啟用,可以做到對不同的組或用戶制定不同的策略,且根據塊或節點進行限制;另外,磁盤配額的限制分別軟限制
(soft limit)與硬限制(hatd
limit),軟限制就是達到一定磁盤額度后給予警告,而硬限制就是非常強硬地限制你的所作所為,除了建立空文件和空目錄(提前是你的節點數沒達到上限,
即還有空留的inode。

磁盤配額的常用命令:

usrquota: 啟用用戶配額
grpquota:啟用組配額 
noquota: 不啟用配額 

quotacheck, quotaon, quotaoff, repquota

實現磁盤配額主要有以下五個步驟:

1.啟用配置掛載選項 
vim /etc/fstab  usrquota,grpquota2. 創建配額數據庫
mount -o remount /dev/sdb1
quotacheck -cug /home
setenforce 03. 啟用數據庫
quotaon /home4. 配置配額項
edquota liansir
edquota -p liansir shitou
setquota tom 100000 150000 0 0 /home5.測試
quota liansir
repquota /home

硬盤配額/home目錄


Linux中,磁盤配額是針對分區進行的,而不是硬盤,即磁盤配額是以文件系統為單位,在下面的試驗中,我們將對/home目錄進行硬盤配額,需要讓
home獨立分區,但是現在home不是獨立分區是和根一起的,如果想要實現就需要在根上做磁盤配額,但是這樣是不合理的。需要把home獨立到一個分
區。

所以,此時我們需要完成的一項工作就是把/home遷移到五個獨立的文件系統。

分區、格式化、掛載一步不能少:

[root@centos7 ~]#mkfs.ext4 /dev/sdb3 -L /home   # 設其卷標為/home
[root@centos7 ~]#blkid /dev/sdb3
/dev/sdb3: LABEL="/home" UUID="e18fa7a2-d436-4bd5-bfdb-453d0af53fb6" TYPE="ext4" 
[root@centos7 ~]#
[root@centos7 ~]#mkdir /mnt/home
[root@centos7 ~]#mount /dev/sdb3 /mnt/home  # 新設備必須掛載才能使用

接下來,還存在一個問題,就是把/home下的數據遷移到新分區/dev/sdb3上面,復制或移動都可以,但要注意權限不要被改變!

wKioL1fLf3_xTdHSAABYlrdPkvc649.png

掛載到/home目錄,注意/home目錄下數據的遷移;所以/dev/sdb3不是一次到位掛載到/home,而是先掛載到了一個其它的空目錄,待完成數據遷移后再掛載到/home。最后取消之前的掛載。注:在centos 7上只會顯示最后一次掛載。

wKiom1fLf5CAbg1VAABfveeEGEs041.png

磁盤配額的準備工作至此結束!如果是對一個普通的空目錄進行硬盤配額的話也就沒有數據遷移這回事了。

下面正式磁盤配額:

  1. 初始化:在/etc/fstab配置文件里面寫入分區掛載選項:usrquota, grpquota;初始化數據庫:checkquota, 注意初始化磁盤配額數據庫前可能需要重新掛載

wKiom1fLf67STPNcAAAiIqLjEI8493.png

[root@centos7 ~]#mount -o remount /home
[root@centos7 ~]#quotacheck -cug /home

wKioL1fLf76jKZztAABGNFCo-XA434.png

[root@centos7 /home]#file aquota.group aquota.user #這兩個文件是數據庫的二進制文件,而非文本文件
aquota.group: data
aquota.user:  data
[root@centos7 /home]#

注:在centos 6上面會提示權限不允許,需要關閉SELinux,setenforce 0.

  1. 啟用數據庫:

[root@centos7 ~]#quotaon /home
[root@centos7 ~]#quotaon -p /home
group quota on /home (/dev/sdb3) is on
user quota on /home (/dev/sdb3) is on
[root@centos7 ~]#
  1. 配置用戶的磁盤配額

[root@centos7 ~]#edquota liansir

wKiom1fLf9bDfikgAAAzWMR2vjE180.png

直接原處修改:

wKioL1fLf-rgEjFdAAAjH5_vP64042.png

  1. 切換到普通用戶的家目錄,測試

wKioL1fLf_qjSjK5AAEGsbYCmPY554.png

測試成功!

用戶調查:查看特定用戶的磁盤配額情況

[root@centos7 ~]#quota liansir   
Disk quotas for user liansir (uid 1000): 
     Filesystem  blocks   quota   limit   grace   files   quota   limit   grace
      /dev/sdb3  102400*  80000  102400   6days     133       0       0

配額概述:查看指定分區的磁盤配額情況

[root@centos7 ~]#repquota /home*** Report for user quotas on device /dev/sdb3
Block grace time: 7days; Inode grace time: 7days
                        Block limits                File limits
User            used    soft    hard  grace    used  soft  hard  grace
----------------------------------------------------------------------
root      --      20       0       0              2     0     0       
liansir   +-  102400   80000  102400  6days     133     0     0       
hacker    --      52       0       0             13     0     0       
xue       --      32       0       0              8     0     0       
[root@centos7 ~]#

我們看到,liansir用戶是有磁盤配額了,現在如果要把hacker用戶的磁盤配額設置成與liansir一樣,我們此時只是一條命令搞定!edquata -p

[root@centos7 ~]#edquota -p liansir hacker
[root@centos7 ~]#

當然,我們還可以在命令行里面直接設置用戶的磁盤配額:

[root@centos7 ~]#setquota xue 100000 200000 0 0 /home  #注意要指定分區
[root@centos7 ~]#

wKiom1fLgCfCaBBKAABVd7tGl6I214.png


RAID

RAID
(Redundant Arrays of Independent Disks), 即獨立冗余磁盤陣列,其重要技術是同位檢查(Parity
Check), 在多塊硬盤組成的陣列中任意一個硬盤故障時,仍可讀出數據,在數據重構時,將數據經計算后重新置入新硬盤中。


盤陣列其樣式有三種,一是外接式磁盤陣列柜、二是內接式磁盤陣列卡,三是利用軟件來仿真。外接式磁盤陣列柜最常被使用大型服務器上,具可熱交換(Hot
Swap)的特性;內接式磁盤陣列卡,價格相對便宜,需要較高的安裝技術,硬件陣列能夠提供在線擴容、動態修改陣列級別、自動數據恢復、驅動器漫游、超高
速緩沖等功能;軟件仿真的方式,是指通過操作系統自身提供的磁盤管理功能將連接的普通SCSI卡上的多塊硬盤配置成邏輯盤,組成陣列。其中,前兩者稱為硬
RAID,軟件仿真稱為軟RAID.

RAID
是有級別的,本文以軟RAID為例,且RAID級別之間可以按需組合;配置RAID時的主要命令為mdadm, 且內核中提供有md模塊(multi
devices),RAID設備可命名為/dev/md0、/dev/md1、/dev/md2、/dev/md3等。

mdadm

mdadm - manage MD devices aka Linux Software RAID
mdadm [mode] <raiddevice> [options] <component-devices>


MODES
   mdadm has several major modes of operation:

   -A, --assemble
          Assemble a pre-existing array.

   -B, --build
          Build a legacy array without superblocks.

   -C, --create
          Create a new array.

   -F, --follow, --monitor
          Select Monitor mode.

   -G, --grow
          Change the size or shape of an active array.
          
即:
    模式:
    創建:-C
    裝配: -A
    監控: -F
    管理:-f, -r, -a

接下來看看RAID的主要級別:

  1. RAID 0:條帶卷,strip

RAID

0最簡單的實現方式就是把N塊同樣的硬盤用硬件的形式通過智能磁盤控制器或用操作系統中的磁盤驅動程序以軟件的方式串聯在一起創建一個大的卷集。只需要2
塊以上的硬盤即可,無冗余或錯誤修復能力,實現成本是最低,最大的缺點在于任何一塊硬盤出現故障,整個系統將會受到破壞,可靠性僅為單獨一塊硬盤的
1/N。所以,RAID 0一般只是在那些對數據安全性要求不高的情況下才被人們使用。

wKiom1fLgD2QU6vrAAGW-7Eimqk537.png

  1. RAID 1:鏡像卷,mirror

RAID 1稱為磁盤鏡像,原理是把一個磁盤的數據鏡像到另一個磁盤上,也就是說數據在寫入一塊磁盤的同時,會在另一塊閑置的磁盤上生成鏡像文件。具備很好的磁盤冗余能力,但磁盤利用率為50%,RAID 1多用在保存關鍵性的重要數據的場合。

wKioL1fLgFDC1TOpAAGUipHnD4k749.png

  1. RAID 5: 帶奇偶校驗的條帶機

RAID
5的奇偶校驗碼存在于所有磁盤上,其中的p0代表第0帶區的奇偶校驗值,其它亦然,對于RAID
5來說,大部分數據傳輸只對一塊磁盤操作,可進行并行操作。在RAID
5中有“寫損失”,即每一次寫操作,將產生四個實際的讀/寫操作,其中兩次讀舊的數據及奇偶信息,兩次寫新的數據及奇偶信息。

wKioL1fLgGHRgSuMAAGJUAeX4iI889.png

  1. RAID 01

RAID 01是RAID0與RAID1的結合體,數據除分布在多個盤上外,每個盤都有其物理鏡像盤,提供全冗余能力,允許一個以下磁盤故障,而不影響數據可用性,并具有快速讀/寫能力。RAID 01要在磁盤鏡像中建立帶區集至少4個硬盤。

wKiom1fLgHORcu5zAAI7ZQxC1Io046.png

  1. RAID 10

RAID 10是一個帶區結構加一個鏡象結構,可以相互補充,達到既高效又高速的目的。主要用于數據容量不大,但要求速度和差錯控制的數據庫中。

wKioL1fLgIagBPA2AAIO_bxl-tA790.png

注:RAID級別圖片來自網絡。

介紹完RAID的主要級別,我們再來看看mdadm具體的模式命令吧!

-C: 創建模式    
    -n #: 使用#個塊設備來創建此RAID;    
    -l #:指明要創建的RAID的級別;    
    -a {yes|no}:自動創建目標RAID設備的設備文件;    
    -c CHUNK_SIZE: 指明塊大??;    
    -x #: 指明空閑盤的個數;
    
-D:顯示raid的詳細信息;    
    mdadm-D /dev/md#
    
管理模式:
    -f: 標記指定磁盤為損壞    
    -a: 添加磁盤    
    -r: 移除磁盤觀察md的狀態:
    cat /proc/mdstat
    
停止md設備:
    mdstat -S DVICE

OK,現在我們來實現一個RAID 5, 4個RAID盤,1個備用盤,總共5個盤。

我們準備四個硬盤,并都創建一個大小為10G的分區:

sdb      8:16   0   20G  0 disk 
└─sdb1   8:17   0   10G  0 part 
sdd      8:48   0   20G  0 disk 
└─sdd1   8:49   0   10G  0 part 
sdc      8:32   0   20G  0 disk 
└─sdc1   8:33   0   10G  0 part 
sde      8:64   0   20G  0 disk 
└─sde1   8:65   0   10G  0 part 
sdf      8:80   0   20G  0 disk 
└─sdf1   8:81   0   10G  0 part 
[root@centos6 ~]#
  1. 創建RAID: /dev/md0

[root@centos6 ~]#mdadm -C /dev/md0 -l 5 -n 4 -x 1 /dev/sd{b,d,c,e,f}1
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md0 started.
[root@centos6 ~]#

查看:

[root@centos6 ~]#ll /dev/md0
brw-rw----. 1 root disk 9, 0 Sep  2 20:17 /dev/md0
[root@centos6 ~]#cat /proc/mdstat
Personalities : [raid6] [raid5] [raid4] 
md0 : active raid5 sde1[5] sdf1[4](S) sdc1[2] sdd1[1] sdb1[0]      
31446528 blocks super 1.2 level 5, 512k chunk, algorithm 2 [4/4] [UUUU]
      
unused devices: <none>
[root@centos6 ~]#
  1. 格式化RAID

[root@centos6 ~]#mkfs.ext4 /dev/md0

查看:

[root@centos6 ~]#blkid /dev/md0
/dev/md0: UUID="0ea747b9-c98e-47fd-b08d-fd346ecbd654" TYPE="ext4" 
[root@centos6 ~]#
  1. 掛載

wKiom1fLgPaCPameAABAXTHgerU211.png

[root@centos6 ~]#mkdir /mnt/md0
[root@centos6 ~]#mount -a

查看:

[root@centos6 ~]#mount |grep /dev/md0
/dev/md0 on /mnt/md0 type ext4 (rw)
[root@centos6 ~]#
  1. 測試

[root@centos6 ~]#cd /mnt/md0
[root@centos6 /mnt/md0]#touch f1      # 可創建文件
[root@centos6 /mnt/md0]#
[root@centos6 ~]#mdadm /dev/md0 -f /dev/sdb1  # 損壞
/dev/sd1mdadm: set /dev/sdb1 faulty in /dev/md0
[root@centos6 ~]#
[root@centos6 ~]#mdadm /dev/md0 -r /dev/sdb1  # 熱移除
mdadm: hot removed /dev/sdb1 from /dev/md0
[root@centos6 ~]#

至此,我們重啟系統!

wKioL1fLgSri6hokAAAcWmJtHDE567.png

wKiom1fLgTjTymv7AAAd2ZP_rxY349.png

重啟系統后我們發現RAID失效了!不過這個跟損壞/dev/sdb1沒關系

此時再次重復以上步驟!

在重啟系統之前我們必須先備份!

[root@centos6 ~]#mdadm -Ds /dev/md0 > /etc/mdadm.conf  # 否則重啟系統后RAID失效

然后重啟系統:

wKioL1fLgVHSwZgHAABfIPZD0zs624.png

查看RAID:

[root@centos6 ~]#mdadm -D /dev/md0

wKiom1fLgWPjd9nZAACauBmqPeY792.png

wKioL1fLgXPjcl-hAABywGh1ht8546.png

再次測試:

[root@centos6 ~]#mdadm /dev/md0 -f /dev/sdb1
mdadm: set /dev/sdb1 faulty in /dev/md0
[root@centos6 ~]#

wKioL1fLgYeyMcR2AABDLqNfcwo587.png

[root@centos6 ~]#mdadm /dev/md0 -r /dev/sdb1

wKiom1fLgcvi49g5AAA7m8K9LW8281.png

此時備用盤已經被移除,

在RAID盤里創建一些文件,然后我們再移除一塊RAID硬盤。

[root@centos6 /mnt/md0]#dd if=/dev/zero of=/mnt/md0/f2 bs=100M count=1
1+0 records in
1+0 records out
104857600 bytes (105 MB) copied, 0.254593 s, 412 MB/s
[root@centos6 /mnt/md0]#ll
total 102416
-rw-r--r--. 1 root root         0 Sep  2 21:56 f1
-rw-r--r--. 1 root root 104857600 Sep  2 21:56 f2
drwx------. 2 root root     16384 Sep  2 21:28 lost+found
[root@centos6 /mnt/md0]#
[root@centos6 ~]#mdadm /dev/md0 -f /dev/sdf1
mdadm: set /dev/sdf1 faulty in /dev/md0
[root@centos6 ~]#mdadm /dev/md0 -r /dev/sdf1
mdadm: hot removed /dev/sdf1 from /dev/md0
[root@centos6 ~]#
[root@centos6 ~]#cd /mnt/md0  #查看數據是否正常
[root@centos6 /mnt/md0]#ls
f1  f2  lost+found
[root@centos6 /mnt/md0]#

wKioL1fLghKxmd1-AACPs4hPwUs449.png

測試成功!

  1. RAID管理:添加新的分區與擴展新成員(在硬盤的數量上進行擴展)

[root@centos6 ~]#mdadm /dev/md0 -a /dev/sdg1  # 給RAID添加新分區
mdadm: added /dev/sdg1
[root@centos6 ~]#

wKiom1fLgjfherH0AAA6SKXjDPI642.png

wKioL1fLgkXD_5d8AAA662-6s2k993.png

[root@centos6 ~]#mdadm -G /dev/md0 -n 6 -a /dev/sdh1  # 擴展
mdadm: added /dev/sdh1

注意,在做RAID時,最好各硬盤的分區一樣大,因為會以最小的為標準,多余的空間則會浪費掉;另外,生產環境中無人用軟RAID,軟RAID僅用途測試與理解RAID用!

本文主要介紹了dd命令的常規用法、如何建立交換分區SWAP、常用RAID的基本特性與RAID 5的配置. 2016.9.3

止戰

原創文章,作者:Liansir,如若轉載,請注明出處:http://www.www58058.com/43224

(0)
LiansirLiansir
上一篇 2016-09-05
下一篇 2016-09-05

相關推薦

  • week4:grep命令正則表達式的應用

    1.復制/etc/skel目錄為/home/tuser1,要求/home/tuser1及其內部文件的屬組和其他用戶均沒有任何訪問權限;     ~]# cp -r /etc/skel/ /home/tuser1 |chmod -R g-rwx,o-rwx /home/tuser1 2.編輯/etc/group文件,添加組hadoop; &…

    Linux干貨 2016-11-23
  • Java線程

    線程是一個單獨程序流程。多線程是指一個程序可以同時運行多個任務,每個任務由一個單獨的線程來完成。也就是說,多個線程可以同時在一個程序中運行,并且每一個線程完成不同的任務。程序可以通過控制線程來控制程序的運行,例如線程的等待、休眠、喚起線程等。本章將向讀者介紹線程的機制、如何操作和使用線程以及多線程編程。  1. 線程的基本知識   &nb…

    2015-06-08
  • Linux 文件管理、查看、編輯、查找命令及BASH特性

    1、文件管理類命令總結  (1)cp命令:copy                    源文件 :目標文件 :    &nbsp…

    Linux干貨 2016-10-17
  • Linux的哲學思想

    初學Linux,了解一下Linux的哲學思想,對學習Linux還是非常有幫助的。 在了解Linux的哲學思想之前,可以先考慮一下,現在我們所學的Linux系統到底是面向什么應用場景而研發和使用的?個人認為:面向企業,是一個服務器操作系統。其所關注的地方是:高性能、可靠性、易維護性。 基于上述方面的考慮,Linux系統在構建和設計的時候,遵循了如下的哲學思想進…

    Linux干貨 2017-08-30
  • 文本處理-三劍客-grep

    文本過濾
    grep [OPTIONS] PATTERN [FILE…]

    2018-03-16
  • Raid的工作原理

    1,什么是Raid Raid的基本原理就是把多個磁盤組合到一起,組成一個磁盤組,使性能達到或超過一個容量巨大價格昂工藝的磁盤,當然基于硬件的RAID解決方案比基于軟件RAID技術在使用性能和服務性能上稍勝一籌,具體表現在檢測和修復多位錯誤的能力、錯誤磁盤自動檢測和陣列重建等方面。 2.RAID級別介紹;一般常用的RAID階層,分別是RAID 0、RAID1、…

    Linux干貨 2017-06-19
欧美性久久久久