Ⅰ 伺服器沒做RAID,linux系統怎樣實現數據安全
原文:軟RAID 0的技術概要及實現v0.1b (正在修訂之中) 1 什麼是RAID,RAID的級別和特點; 什麼是RAID呢?全稱是 A Case for Rendant Arrays of Inexpensive Disks (RAID),在1987年,由加州大學伯克利大學發表的論文而來,其實就是這個標題的縮寫就是RAID;中譯為磁碟陣列; RAID就是把幾個物理磁碟組合在一起成為一個大的虛擬物理磁碟,主要目的和用途主要有:把若干小容量物理磁碟組成一個大容量虛擬存儲設備(以前的物理磁碟的容量都比較小);提高物理存儲效率(讀、寫),或提供冗餘以提高數據存儲的安全性。 根據應用方向的不同,RAID也分不不同級別 ,有LINEAR、RAID0、RAID1、RAID5、RAID10、RAID4、RAID6、MULTIPATH。常用的有RAID0、RAID1、RAID5、RAID10(其實就是0+1)、LINEAR 1.1 什麼是硬體RAID和軟RAID; RAID 還分為硬體RAID 和軟體RAID,硬體RAID是通過RAID 卡來實現的,而軟體RAID是通過軟體來實現的;在企業級應用領域,大部份都是硬體RAID。而軟體RAID由於性價比高,大多被中小型企業所採用; 硬體RAID是通過RAID卡把若干同等容量大小的硬碟,根據使用方向的不同,聚合起來成為一個大的虛擬RAID設備(或RAID0,或RAID1,或者RAID5,或RAID10),如果每個硬碟容量不一致,以最小容量的硬碟為基礎;它的成員是整個硬碟; 軟RAID是軟把若干同等容量大小的硬碟或分區,根據使用方向的不同,聚合起來成為一個大的虛擬RAID設備(或RAID0,或RAID1,或者RAID5,或RAID10),如果每個硬碟或分區容量不一致,以最小容量的硬碟或分區為基礎。軟RAID的成員是整個硬碟或分區; 1.2 RAID 的級別及特點; RAID 有幾種級別,LINEAR,RAID0 (striping), RAID1 (mirroring), RAID4, RAID5, RAID6, RAID10, MULTIPATH, and FAULTY.其中我們常用有RAID0、RAID1、RAID5、RAID10。 下面我們說說常用的RAID0、RAID1、RAID5以及RAID10; 1.21 什麼是軟RAID0及特點; RAID0 是把兩個或兩個以上的容量相同的硬碟或分區,通過RAID控制器(硬RAID是通過RAID卡來實現的,軟RAID 是通過軟體來實現的),結合為一個在容量上是RAID0下成員的容量的總和,在寫入時,要向每個硬碟或分區同時寫入數據。 在硬RAID中,RAID0的成員是以整個硬碟為單位的,把兩個硬碟或兩個以上的硬碟通過RAID卡綁定成為一個虛擬的磁碟設備,而每個硬碟就是RAID0的成員; 在軟RAID0中,RAID0的成員是整個硬碟或分區,容量是加入RAID0的所有成員容量的總和。在RAID0中每個成員的容量都是相同一致的。比如我們把/dev/sdb 、/dev/sdc、/dev/sdd 三個容量大小為80G的硬碟做成RAID0,這時RAID0設備的容量就是三個硬碟的總和80x3=240G。當然我們也可以,在寫入數據時,系統要向每個硬碟同時寫入數據,是以條塊的形式寫入。比如我們存一份數據linuxsir.tar.gz 到RAID0的設備中,這份數據是分拆成若干份被分散的寫入到RAID0中的每個成員中。只有RAID0中的每個成員正常運行,並且RAID0也正常運行的情況下,這份數據才是完整的。RAID0中任何一個成員(硬碟分區)有有問題時,RAID0便不能運行,同時數據也不是完整的; RAID0 在讀寫速度上是比較快的,是普通不做RAID的兩倍左右(註:實際速度和機器的硬體配置有關),所以RAID0常被用於對存儲效率要求較高,但對數據安全性要求不高的應用解決方案中; 安全性:RAID0中有任何一個成員出現故障,整個RAID0就不能被激活。數據不能保障; 1.22 什麼是軟RAID1及特點; RAID1就是把若干相同容量的硬碟或分區,成員與成員之間是鏡像關系。在容量上,RAID1設備是單個成員的容量。比如兩個80G的硬碟做成RAID1,這個RAID1的設備容量仍是80G。比如我們寫入一個份數據linuxsir.tar.bz2 到RAID1設備時,其實是向RAID的每個成員都寫了一份。比如RAID1設備下有兩個成員/dev/sdb和/dev/sdc ,我們寫入linuxsir.tar.bz2 到RAID1時,/dev/sdb和/dev/sdc都有一份完整的linuxsir.tar.bz2。 所以RAID1是冗餘的陣列,一般被用於安全性要求比較高的應用中。 因為RAID1在由於鏡像冗餘,所以磁碟利用效率並不高,或者說是浪費。這種方案相對來說性價比並不高,一般很少應用。數據讀寫效率要比RAID0慢。 安全性:RAID1 中只要有一個成員是健康的,RAID1完全可以激活,而且數據絕對是完整安全的。如果所有的成員有故障,RAID1也就報廢了。哈哈,這不是廢話嗎? 1.23 什麼是軟RAID5及特點; 軟RAID5也是冗餘安全的,RAID5是把至少三個硬碟或分區通過軟體虛擬成為一個大的存儲設備。在容量上是(n-1)x單個硬碟(分區)容量 ,比如我們用三塊80G硬碟做成RAID5,容量就是兩塊容量的和160G。在寫入上,數據被分拆成若干份,分別向RAID5的每個成員下寫入。比如把linuxsir.tar.bz2寫入RAID5時, 要先把linuxsir.tar.bz2分拆成若干份,分別寫入RAID5成員中。因為涉及到冗餘,所以數據在讀入速度上並不是很快,沒辦法和RAID0相比,但RAID5的寫入數據速度沒有RAID1和RAID0快,也沒有不做RAID的磁碟寫入速度要快; 因為RAID5在容量損失比較小,有冗餘安全保障,另外寫入速度比較快,從整體上來看,性價比比較高,所以被大范圍內採用; 安全性:當RAID5中的成員中有一個發生故障時,RAID5一樣能啟動和正常運行,只要n-1(注n>3)塊硬碟或分區的不出故障,RAID5上的數據就是安全,對於一個文件存到RAID5設備中,只有成員是n-1(注n>3)無故障時,這份文件才是完整的。 比如RAID5有四個硬碟(或分區)做的,當一個硬碟或分區掛掉了,並不影響整個RAID5上數據的完整性和安全性。 1.24 什麼是軟RAID10及特點; 軟RAID10也是冗餘安全陣列,是RAID0+1的集成,RAID10是把至少四個硬碟或分區通過軟體虛擬成為一個大的存儲設備。在容量是:n/2x單個硬碟(分區)容量 ,比如我們用四塊80G硬碟做成RAID5,容量就是兩塊容量的和4/2x80=160G。做RAID10所需要的硬碟或分區個數是偶數的。
Ⅱ raid0怎麼組裝,以及在組裝raid0後,怎麼裝linux系統啊。求高手指教啊
Raid0就是把兩塊盤並成一塊,並且是沒有贅餘存儲。組raid以後,就象平常安裝系統一樣安裝Linux就是,如果無法識別硬碟,則要用軟體驅載入Raid驅動,然後再安裝,一般廠商都會提供驅動的。
Ⅲ Linux軟RAID系統崩潰的修復
你可以檢查下硬碟,沒有問題的話,應該是/分區的Label沒了,或者查看你grub的設定, kernel 這部份 label 的指向那個分區,
或者直接指向分區, 如 kernel /boot/vmlinux-xxxxx root=/dev/sda1
等等.分區的時候沒指定分區的type.默認就是 id:83 也就是linux類型。
Disk /dev/sdb: 8589 MB, 8589934592 bytes
255 heads, 63 sectors/track, 1044 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sdb1 1 123 987966 83 Linux
/dev/sdb2 124 246 987997+ 83 Linux
其實我們只要在分區的時候手動指定分區的類型為soft raid格式即可解決問題。
/dev/sdb2 124 246 987997+ fd Linux raid autodetect
這樣我們重啟機器後所作的raid設備依然可以用fdisk -l來查看到。
如果你當初的raid,沒指定分區的type,其實你也可以重新制定分區的type後,也是可以的。。
指定type的方式為 fdisk --- t----fd----w
Ⅳ raid0 在linux上怎麼安裝
同 Windows ,硬體的主板或者RAID卡設置,之後裝系統時載入驅動(有的需要有的不需要)。
如果是軟體的,那麼需要 Linux 系統支持,建議安裝時直接設置 LVM (邏輯卷管理,可以設置軟 RAID)。
Ⅳ RAID與linux的問題
我以前也這樣做過。
因為你用raid卡做的陣列會因為沒有linux下的驅動而無法認到。
後來安裝linux的時候做
軟raid
.
陣列卡
似乎沒有辦法的。
不過似乎有高手可以自己寫驅動。期待中。。
Ⅵ 如何在RAID 0下裝LINUX
這個似乎不簡單,看你的raid0是怎麼做的,要是通過主板上的raid晶元實現的,那麼必須在安裝linux的過程中載入raid晶元的驅動。
建議嘗試ubuntu的最新版本,它是驅動最豐富的linux版本。要是無法檢測到,那就只能試著做軟raid了。
Ⅶ 如何在linux下做軟raid實現方法
磁碟陣列軟RAID實例.
前言:raid0, 容量倍增,加速。 raid1, 安全鏡像備份。 raid5, 奇偶數據校驗保證安全,磁碟利用率(n-1)。
****************************************
1. 准備硬碟分區。
****************************************
raid5 至少需要3快硬碟,我手上只有一塊閑置硬碟,就拿它練手。
在一塊硬碟上實現raid 是沒有意義的,這里僅是為了實驗,知道其過程。
分區如下:
主分區 /sdb1, 擴展分區/sdb10 隨便干別的事情。
擴展分區/sdb{5..9} 做raid5
----------------------------------------
[root@hjj ~]# fdisk -l /dev/sdb
----------------------------------------
Disk /dev/sdb: 160.0 GB, 160041885696 bytes
255 heads, 63 sectors/track, 19457 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x86ea33f5
Device Boot Start End Blocks Id System
/dev/sdb1 1 3241 26033301 83 Linux
/dev/sdb2 3242 19457 130255020 5 Extended
/dev/sdb5 3242 6482 26033301 fd Linux raid autodetect
/dev/sdb6 6483 9723 26033301 fd Linux raid autodetect
/dev/sdb7 9724 12964 26033301 fd Linux raid autodetect
/dev/sdb8 12965 16205 26033301 fd Linux raid autodetect
/dev/sdb9 16206 19446 26033301 fd Linux raid autodetect
/dev/sdb10 19447 19457 88326 83 Linux
----------------------------------------
[root@hjj ~]# partprobe /dev/sdb
----------------------------------------
重新檢測分區要通過, 可能需要重啟系統。
****************************************
2. 創建raid5 設備/dev/md0
****************************************
raid 設備文件名,習慣上用md0, md1....等命名
注意: 創建需要內核支持, 選中相應的raid 選項,重編譯內核,否則該命令不能通過,錯誤為invalid parameter
2.1 創建
--------------------------------------------------------------------------------
[root@hjj ~]# mdadm -C /dev/md0 -a yes -l 5 -n 4 -x 1 /dev/sdb{5..9}
--------------------------------------------------------------------------------
mdadm: Defaulting to version 1.2 metadata
解釋一下:
-C ---> create
-a ---> autodetected
-l ---> level raid5
-n ---> raid devices 4 (使用)
-x ---> spare devices 1(備用)
給一個參考多硬碟命令
[root@hjj ~]# mdadm -C /dev/md0 -a yes -l 5 -n 3 /dev/sd[bcd]1
2.2: 設備名稱查詢
[root@hjj ~]# ll /dev/md* -d
drwxr-xr-x 2 root root 60 Nov 7 01:51 /dev/md
brw-rw---- 1 root disk 9, 0 Nov 7 01:52 /dev/md0
2.3: 設備信息查詢
----------------------------------------
[root@hjj ~]# mdadm --detail /dev/md0
----------------------------------------
/dev/md0:
Version : 1.2
Creation Time : Thu Nov 7 01:14:01 2013
Raid Level : raid5
Array Size : 78096384 (74.48 GiB 79.97 GB)
Used Dev Size : 26032128 (24.83 GiB 26.66 GB)
Raid Devices : 4
Total Devices : 5
Persistence : Superblock is persistent
Update Time : Thu Nov 7 01:43:21 2013
State : clean, degraded, recovering
Active Devices : 3
Working Devices : 5
Failed Devices : 0
Spare Devices : 2
Layout : left-symmetric
Chunk Size : 512K
Rebuild Status : 63% complete
Name : hjj.localdomain:0 (local to host hjj.localdomain)
UUID : 9dee9c47:58dfe491:5c8db1c6:9686eba5
Events : 25
Number Major Minor RaidDevice State
0 8 21 0 active sync /dev/sdb5
1 8 22 1 active sync /dev/sdb6
2 8 23 2 active sync /dev/sdb7
5 8 24 3 spare rebuilding /dev/sdb8
4 8 25 - spare /dev/sdb9
****************************************
3: 格式化raid 設備(磁碟)
[root@hjj ~]# mkfs -t ext4 /dev/md0
****************************************
mke2fs 1.41.12 (17-May-2010)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=128 blocks, Stripe width=384 blocks
4882432 inodes, 19524096 blocks
976204 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=4294967296
596 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
4096000, 7962624, 11239424
Writing inode tables: done
Creating journal (32768 blocks):
done
Writing superblocks and filesystem accounting information:
done
This filesystem will be automatically checked every 34 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.
****************************************
4. 掛載及使用raid 磁碟
****************************************
[root@hjj ~]# mount /dev/md0 /mnt
[root@hjj ~]# cd /mnt
[root@hjj /mnt]# ls
lost+found
使用raid 設備(虛擬盤)
[root@hjj /mnt]# echo "haha" > abc.txt
[root@hjj /mnt]# cat abc.txt
haha
[root@hjj ~]# df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/mapper/VolGroup-lv_root
51475068 40659416 8177828 84% /
tmpfs 1015868 224 1015644 1% /dev/shm
/dev/sda1 487652 67236 390720 15% /boot
/dev/mapper/VolGroup-lv_home
97521332 10652080 81892408 12% /home
/dev/md0 76739624 53016 72765408 1% /mnt
****************************************
5. 設置開機啟動RAID
****************************************
[root@hjj ~]# mdadm --detail --scan
ARRAY /dev/md0 metadata=1.2 spares=2 name=hjj.localdomain:0 UUID=9dee9c47:58dfe491:5c8db1c6:9686eba5
[root@hjj ~]# mdadm --detail --scan >/etc/mdadm.conf
經以上操作,系統重啟時自動命名為md0, 否則會是md127 等等值, 不固定。
[root@hjj ~]# vim /etc/fstab
添加:
/dev/md0 /mnt ext4 defaults 0 0
****************************************
6. 其它:停用設備,插拔磁碟
更詳細文檔: man mdadm
****************************************
停用raid 盤:
[root@hjj ~]# mdadm --stop /dev/md0
查詢
[root@hjj ~]# ll /dev/md* , 無設備
mdadm 還可模擬拔出硬碟,修復硬碟,插入硬碟
[root@hjj ~]# mdadm /dev/md0 --remove /dev/sdb5
驗證:
[root@hjj ~]# mdadm --zero-superblock --force /dev/md0
[root@hjj ~]# mdadm /dev/md0 --add /dev/sdb5
驗證:
驗證方法:
[root@hjj ~]# mdadm --detail /dev/md0
刪除該raid 設備, 完整的操作過程如下示例。 比較規范,系統無錯誤。
當然,不按規范刪除也可以。反正你也不要設備上的所有數據了。
mdadm /dev/md0 --fail /dev/sdb5 --remove /dev/sdb5
mdadm /dev/md0 --fail /dev/sdb6 --remove /dev/sdb6
mdadm /dev/md0 --fail /dev/sdb7 --remove /dev/sdb7
mdadm /dev/md0 --fail /dev/sdb8 --remove /dev/sdb8
mdadm /dev/md0 --fail /dev/sdb9 --remove /dev/sdb9
mdadm --remove /dev/md0
mdadm --stop /dev/md0
mdadm --misc --zero-superblock /dev/sdb5
mdadm --misc --zero-superblock /dev/sdb6
mdadm --misc --zero-superblock /dev/sdb7
mdadm --misc --zero-superblock /dev/sdb8
mdadm --misc --zero-superblock /dev/sdb9
即: 先刪除RAID中的所有設備,然後停止,刪除該RAID即可
為了防止系統啟動時候啟動raid, 應檢查,修改相應的配置。
例如mdadm.conf, fstab 等
Ⅷ linux raid0怎麼做
fdisk 分2個區(2或2的倍數給)
fdisk /dev/sda 分區
mdadm -C /dev/md0 -l 0 -n 2 -x 1 /dev/sda{5,6,7}
意思就是創意一個raid名字叫md0 -l 級別 0 磁碟數量2 備用盤數量1 使用的磁碟 sda{5,6,7}
根據實際小改動就可以
Ⅸ linux磁碟陣列怎麼做 raid0
需要在伺服器上做的 不是在linux系統裡面做
不同的伺服器做的方法不太一樣 可以根據伺服器型號去查