磁盤管理: 有關硬盤的識別,linux根據設備類型對存儲設備進行識別,如果是IDE設備, 在計算機中會被識別為hd,第一個IDE設備會被識別為hda,第二個IDE設備會被識別為hdb,依次類推。如果是SATA,USB,SCSI設備會被識別為sd,同樣第一個此類設備為sda,第二塊此類設備為sdb,依次類推。 對于分區,linux使用數字來表示,如第一塊SATA硬盤的第一個分區為sda1;第二塊硬盤的第二個分區為sdb2。
磁盤分區: 傳統的MBR分區方式是一塊硬盤最多可以分為四個主分區,如果我們為硬盤分配了四個主分區,那么即使硬盤還有剩余空間,也無法再繼續分區。 所以我們一般可以采用P+P+P+E的方式來分區,也就是三個主分區+一個擴展分區;
------------------------------------------------------------------------------------------------------------------------------------------------------------------------
查看磁盤分區表:
# fdisk -cul
為硬盤分區:
#fdisk -cu /dev/sdb
m???? 查看幫助命令
p?????? 打印分區表信息
t?????? 修改分區id
n?????? 創建分區
d?????? 刪除分區
w?????? 保存退出
刷新分區表:
# partprobe /dev/sdb
修改分區表類型,
# parted /dev/sdb mklabel gpt
對于大于2T的硬盤創建可修改分區一般使用parted命令;
創建分區: 創建一個從磁盤的第1MB開始分區,到2G為止的位置
#parted /dev/sdc mkpart primary ext3 1 2G
從2G的位置開始劃分4G空間
#parted /dev/sdc mkpart primary ext3 2G 4G
打印分區信息
#parted /dev/sdc print
刪除分區適應rm命令
#parted /dev/sdc rm 2
格式化磁盤分區為ext4格式
#mkfs.ext4 /dev/sdc1
將分區格式化為swap分區
#mkswap /dev/sdc2
開機自動掛載,編輯fstab文件
如:
/dev/sdc1 /data ext4 defaults 0 0
/dev/sdc1 為設備名;
/data??? 掛載點;
ext4??? 文件系統類型;
defaults??? 掛載屬性
0?????? 表示不備份,1表示每天備份
0?????? 表示不需要進行磁盤檢測,1表示根文件系統,其他文件系統為2;
------------------------------------------------------------------------------------------------------------------------------------------------------------
LVM邏輯卷 將分區轉換為物理卷,pvcreate;
將物理卷合成卷組,vgcreate;
從卷組中提取容量創建邏輯卷,lvcreate;
創建完成后可以分別使用pvdisplay,vgdisplay,lvdisplay,查看效果。
-----------------------------------------------------------------------------------------------------------------------------------------------------------
創建LVM分區實例:
這里我們使用sdb,500G的硬盤創建100GB的分區,并使用這四個分區創建一個名稱為test_vg的卷組,最后從該卷組中創建兩個大小為120GB的邏輯卷,
名稱分別為:test_web,test_data.
1、使用fdisk創建分區
#fdisk -cu /dev/sdb partprobe /dev/sdb
2、使用pvcreate創建物理卷并使用pvdisplay查看結果
# pvcreate /dev/sdb{1,2,3,5}
#pvdisplay
3、創建卷組并查看
#vgcreate test_vg ?/dev/sdb{1,2,3,5}
#vgdisplay
4、創建邏輯卷
# lvcreate -n test_web -L 120G test_vg
# lvcreate -n test_data -l 30720 test_vg
#lvdisplay
5、格式化并掛載
#mkfs.ext4 ?/dev/test_vg/test_web
#mkfs.ext4 ?/dev/test_vg/test_data
#mkdir -p /test/{web,data}
#cat >> /etc/fstab <<EOF
>/dev/test_vg/test_data /test/data ext4 dafaults 0 0
>/dev/test_vg/test_web /test/web ext4 defaults 0 0
>EOF
#mount -a df -h
----------------------------------------------------------- ------------------------------------------------------------------------------------------------
刪除LVM分區
#umount /dev/test_vg/test_data
#umount /dev/test_vg/test_web
#lvremove /dev/test_vg/test_data
#lvremove /dev/test_vg/test_web
#vgremove /test_vg pvremove /dev/sdb{1,2,3,5}
===========================================================================================
? ?RAID(Redundant Array of Independent Disk 獨立冗余磁盤陣列)技術是加州大學伯克利分校1987年提出,
最初是為了組合小的廉價磁盤來代替大的昂貴磁盤,同時希望磁盤失效時不會使對數據的訪問受損 失而開發出一定水平的數據保護技術。
RAID就是一種由多塊廉價磁盤構成的冗余陣列,在操作系統下是作為一個獨立的大型存儲設備出現。
RAID可以充分發 揮出多塊硬盤的優勢,可以提升硬盤速度,增大容量,提供容錯功能夠確保數據安全性,易于管理的優點,
在任何一塊硬盤出現問題的情況下都可以繼續工作,不會 受到損壞硬盤的影響。
RAID 為 Redundant Array of Indepent Disks (獨立磁盤冗余陣列) 的縮寫,最常用的四種RAID為 RAID 0、RAID 1、RAID 5、RAID 10,
下面解釋這四種RAID的特點和區別。
RAID 0的特點:
- 最少需要兩塊磁盤
- 數據條帶式分布
- 沒有冗余,性能最佳(不存儲鏡像、校驗信息)
- 不能應用于對數據安全性要求高的場合
RAID 1的特點:
- 最少需要2塊磁盤
- 提供數據塊冗余
- 性能好
RAID 5特點:
- 最少3塊磁盤
- 數據條帶形式分布
- 以奇偶校驗作冗余
- 適合多讀少寫的情景,是性能與數據冗余最佳的折中方案
RAID 10(又叫RAID 1+0)特點:
- 最少需要4塊磁盤
- 先按RAID 0分成兩組,再分別對兩組按RAID 1方式鏡像
- 兼顧冗余(提供鏡像存儲)和性能(數據條帶形分布)
- 在實際應用中較為常用
RAID 0即Data Stripping(數據分條技術)。整個邏輯盤的數據是被分條(stripped)分布在多個物理磁盤上,可以并行讀/寫,提供最快的速度,但沒有冗余能力。
要求至少兩個磁盤。我們通過RAID 0可以獲得更大的單個邏輯盤的容量,且通過對多個磁盤的同時讀取獲得更高的存取速度。
RAID 0首先考慮的是磁盤的速度和容量,忽略了安全,只要其中一個磁盤出了問題,那么整個陣列的數據都會不保了。
問:RAID0至少幾塊盤? 答:RAID0最少要兩塊硬盤才能實現。?
RAID 1 RAID 1,又稱鏡像方式,也就是數據的冗余。在整個鏡像過程中,只有一半的磁盤容量是有效的(另一半磁盤容量用來存放同樣的數據)。
同RAID 0相比,RAID 1首先考慮的是安全性,容量減半、速度不變。
問:RAID1至少幾塊盤? 答:RAID1最少要兩塊硬盤才能實現。?
RAID 0+1(RAID 10) 為了達到既高速又安全,出現了RAID 10(或者叫RAID 0+1),可以把RAID 10簡單地理解成由多個磁盤組成的RAID 0陣列再進行鏡像。
問:RAID0+1至少幾塊硬盤才能實現? 答:RAID0+1至少需要4塊盤。?
RAID 3和RAID 5 RAID 3和RAID 5都是校驗方式。RAID 3的工作方式是用一塊磁盤存放校驗數據。
由于任何數據的改變都要修改相應的數據校驗信息,存放數據的磁盤有好幾個且并行工作,
而存放校驗數據的磁盤只有一個,這就帶來了校驗數據存放時的瓶頸。
RAID 5的工作方式是將各個磁盤生成的數據校驗切成塊,分別存放到組成陣列的各個磁盤中去,
這樣就緩解了校驗數據存放時所產生的瓶頸問題,但是分割數據及控制存放都要付出速度上的代價。
問:RAID5需要幾塊硬盤?為什么損失一個盤的容量? 答:至少3塊。RAID5把數據和相對應的奇偶校驗信息存儲到組成RAID5的各個磁盤上,并且奇偶校驗信息和相對應的數據分別存儲于不同的磁盤上,
其中任意N-1塊磁盤上都存儲完整的數據,也就是說有相當于一塊磁盤容量的空間用于存儲奇偶校驗信息。
因此當RAID5的一個磁盤發生損壞后,不會影響數據的完整性,從而保證了數據安全。當損壞的磁盤被替換后,
RAID還會自動利用剩下奇偶校驗信息去重建此磁盤上的數據,來保持RAID5的高可靠性。
----------------------------------------------------------------------------------------------------------------------------------------------------------
RAID磁盤陣列 linux 中創建磁盤陣列可以使用mdadm命令
-C 創建RAID
-l 指定RAID的級別
-n 指定磁盤個數
-x 指定備用設備數
例如:
創建raid0
#mdadm -C /dev/md0 -l 0 -n 3? /dev/sdb1? /dev/sdc1? /dev/sdd1
例如:創建raid5
#mdadm -C ?/dev/md1? -l 5 -n 3 -x 1
\ >/dev/sdb2 ?/dev/sdc2 ?/dev/sdd2? /dev/sde2
查看raid0和raid5的詳細信息;
#mdadm --detail ?/dev/md0
#mdadm --detail ?/dev/md1
格式化與掛載
#mkfs.ext4? /dev/md0
#mkdir ?/raid0
#mount? /dev/md0 ?/raid0
開機自動掛載raid磁盤,和上面一樣,將掛載命令 寫道/etc/fstab文件中即可。
RAID性能測試:
#time dd if=/dev/zero? of=txt bs=1M count=1000