您好,登錄后才能下訂單哦!
一、磁盤的管理介紹
硬盤的格式:
硬盤分為兩種格式MBR和GPT MBR:在硬盤的0磁道0扇區上,該扇區大小為512個字節,專門用來存儲MBR引導信息。 MBR又分三部分: 446個字節:存儲boot?loader,引導加載器 64個字節:存儲分區表,有多少個分區,每個分區從哪里開始再到哪里結束;其中每16個字節表示一個分區,因此,在MBR格式的硬盤上最多只能有四個主分區 2個字節:前面信息的有效標識,結束標志。用四個16進制數表示為55aa,表示前510個字節是有效的,也就是說代表著分區是有效的,如果這兩個值為空那么即使建立了分區也是不生效的。 因為只有64個字節存放分區信息,所以MBR格式的硬盤上最多可分四個主分區,也可以劃分三個主分區+一個擴展分區,擴展分區又可以劃分多個邏輯分區; 需要注意的是MBR最多支持2T的分區,超過2T的MBR識別不了,就需要GPT來實現 GPT:兼容MBR,最多可創建128個主分區,因為主分區數量夠多,不在需要擴展分區,同時GPT也打破了MBR的最多2T分區的概念
磁盤管理常用的工具
MBR管理工具:fdisk
GPT管理工具:gdisk
高級管理工具:parted
2.fdisk:創建磁盤分區管理工具,MBR格式文件系統管理工具,對GPT格式的磁盤兼容性不好
fdisk?-l:查看分區信息 fdisk?/dev/device_name:管理磁盤的分區 fdisk創建分區會開啟一個交互式窗口,其中有很多子命令 m:查看可使用的命令有哪些 p:顯示當前磁盤的分區信息 n:創建新分區 p:為主分區 e:為擴展分區 d:刪除分區 w:保存分區信息并退出 q:不保存分區信息退出 t:修改分區的系統ID l:列出系統上所有的系統ID L:列出支持的所有分區類型或者是分區類型所代表的16進制的ID
3.gdisk:創建磁盤分區管理工具,GPT格式文件系統管理工具,和fdisk的操作基本相同
gdisk?-l:查看分區信息 gdisk?/dev/device_name gdisk創建分區會開啟一個交互式窗口,其中很很多命令 ?:顯示支持的命令列表 p:顯示當前磁盤的分區信息 n:創建新分區 d:刪除分區 w:保存分區信息并退出 q:不保存分區信息退出 l:列出系統上所有的系統ID也就是所有的分區類型
4.parted:綜合管理
用法:parted?[選項]...?[設備?[命令?[參數]...]...] parted?/dev/sdb?mklabel?gpt|msdos:指定分區的類型 parted?/dev/sdb?print:打印當前分區信息 parted?/dev/sdb?mkpart?primary?1?200?(默認M):進行分區primary(主分區)extended(擴展分區),logical(邏輯分區) parted?/dev/sdb?rm?1:刪除分區,這個刪除是根據分區號進行刪除的 parted?–l???列出分區信息
正常我們在系統開機的情況下直接添加的硬盤,系統是不會識別的,使用下面的命令讓系統重讀硬盤信息
echo?'-?-?-'?>?/sys/class/scsi_host/host0/scan:觸發硬件重新識別硬盤
對于剛創建好的分區來說,系統并不會識別,需要手動識別也就是我們需要同步分區表
同步分區表 查看內核是否已經識別新的分區 cat?/proc/partations centos6通知內核重新讀取硬盤分區表 新增分區用 partx?-a?/dev/DEVICE:增加分區的選項,也就是對這個設備增加分區讓增加的分區生效 kpartx?-a?/dev/DEVICE?-f:?force(強制) 刪除分區用 partx?-d?--nr?M-N(分區的序號)?/dev/DEVICE:刪除分區 CentOS?5,7:?使用partprobe:同步分區信息,將硬盤信息與內存中的分區信息 partprobe?[/dev/DEVICE]:進行同步不加設備默認就是刷新所有設備的分區信息,添加設備只刷新指定設備的分區信息 注意:現在使用的硬盤分區必須是硬盤中一塊連續的空間
5.常見的文件系統分類
常用的Linux文件系統: ext2(Extended?file?system)?:適用于那些分區容量不是太大,更新也不頻繁的情況,例如?/boot?分區 ext3:是?ext2?的改進版本,其支持日志功能,能夠幫助系統從非正常關機導致的異常中恢復。它通常被用作通用的文件系統 ext4:是?ext?文件系統的最新版。提供了很多新的特性,包括納秒級時間戳、創建和使用巨型文件(16TB)、最大1EB的文件系統,以及速度的提升(配合gpt使用) xfs:SGI,支持最大8EB的文件系統 btrfs(Oracle),?reiserfs,?jfs(AIX),?swap 光盤:iso9660 Windows:FAT32,?exFAT,NTFS Unix:?FFS(fast),?UFS(unix),?JFS2 網絡文件系統:NFS,?CIFS 集群文件系統:GFS2,?OCFS2(oracle) 分布式文件系統:?fastdfs,ceph,?moosefs,?mogilefs,?glusterfs,?Lustre
6.創建文件系統的工具:
mkfs命令 第一種方式:直接使用以文件系統為后綴的命令mkfs.btrfs、mkfs.ext2、mkfs.ext4、mkfs.minix、mkfs.vfat、mkfs.cramfs、mkfs.ext3、mkfs.fat、mkfs.msdos、mkfs.xfs 第二種方式:-t:指定文件系統類型 -L:設定卷標,相當于注釋 對于交換文件系統swap,有特定的工具,但是要將磁盤的系統ID改為8e mkswap /dev/device_name blkid:查看指定設備的屬性信息 -U:根據UUID查找到對應的設備 -L:根據卷標查找到對應的設備 tune2fs:調整文件系統的相關屬性 -l:查看超級塊中的信息 -L:設定或修改卷標 -m:調整預留百分比 -r:指定預留塊數 -o:設定默認掛在選項 -c?#:指定掛載次數達到#次后進行自檢,0或-1為關閉此功能 -i?#:每次掛載多少天之后進行自檢,0或-1為關閉此功能 dumpe2fs:顯示文件系統屬性信息 -h:只顯示超級塊中的信息 文件系統的檢測: fsck:檢查并修復Linux文件系統,修復完成后文件會變得不完整 -t:指定文件系統類型 -a:自動修復 -r:交互式修復 e2fsck:專用于修復ext?系列的文件系統 -y:對問題自定回復yes -f:強制檢查 -p:自動修復
7.超級塊
作用是存儲文件系統的大小,有多少是空的和已經填滿的占多少,以及他們各自的總數和其他信息,要是用一個分區來訪問數據,第一個就訪問的是超級塊,所以超級塊如果壞了,那磁盤就基本沒救了 超級塊占用第一號物理塊,是文件系統的控制塊。 超級塊是用存放元數據的,也就是從幾到幾是屬于一個塊的文件系統,比如大小,空閑塊的數目,空閑塊的索引表,空閑的iNode節點數目,空閑的iNode索引表等等。 為了防止超級塊損壞,就需要對超級塊進行備份,以便損壞時可以修復。
8.文件系統的掛載和卸載
掛載:將額外文件系統與根文件系統某現存的目錄建立起關聯關系,進而使得此目錄做為其它文件訪問入口的行為 卸載:為解除此關聯關系的過程 mount:掛載工具 格式:mount?設備?掛載點 根文件系統默認給定了臨時掛載點:/mnt、/opt、/media 當然也可以掛載到別的目錄,但是掛載目錄必須事先存在,且最好為空目錄,要不目錄下文件將被隱藏; 常用的mount掛在選項: -t:指定文件系統類型 -r:只讀掛載,目錄下內容只可以讀 -w:讀寫掛載,目錄下內容可讀可寫,可修改 -L?label:以卷標方式指定設備,mount?-L?label?掛載點,很少用 -U?UUID:以UUID的方式指定設備,通常寫在/etc/fstab文件中,常用 -a:自動掛載/etc/fstab文件中的所有設備,會自動掃描,沒有掛載的就會掛載,已經掛載的忽略 -n:掛載時,不更新/etc/mtab文件 -B:綁定到一個目錄上 -o?option:mount的-o選項豐富多彩,定制很多可用的掛載選項; remount:重新掛載,在不卸載的情況下添加額外掛載選項 ro:只讀掛載 rw:讀寫掛載 async:異步I/O,數據寫操作先在內存完成,然后在整體同步到磁盤上 sync:同步I/O,數據一邊寫一邊存到磁盤上 atime/noatime:是否修改文件的訪問時間,追求性格時可關閉,因為修改訪問時間也會有寫磁盤操作 dirname/nodirname:是否修改目錄的訪問時間 auto/noauto:設備是否支持自動掛載,mount?-a選項 dev/nodev:是否支持在此設備上使用設備文件 exec/noexec:是否允許執行此設備上的二進制程序 suid/nosuid:是否支持次設備上的文件擁有特殊權限 user/nouser:是否支持普通用戶掛在此設備 acl:在此設備上是否支持使用ACL,centos7默認支持,之前的版本默認不支持 掛載時可同時使用多選項,使用逗號隔開即可 mount不加選項默認的掛載選項: rw,suid,dev,exec,auto,nouser,async 交換分區的掛載: swapon:啟用swap分區 -a:使/etc/fstab中,所有標記了'sw'的交換設備生效 -s:顯示系統上所有swap分區信息 -p?#:可指定優先級 swapoff:禁用一個swap分區 -a:禁用所有 free:可查看內存和swap使用信息情況 -m:以MB為單位顯示 -g:以GB為單位顯示 卸載命令 查看掛載情況 findmnt?MOUNT_POINT|device:確認是否是掛載點 查看正在訪問指定文件系統的進程 lsof?MOUNT_POINT fuser?-v?MOUNT_POINT 終止所有在正訪問指定的文件系統的進程 fuser?-km?MOUNT_POINT:把使用此進程的所有目錄全部關閉掉 卸載 umount?DEVICE umount?MOUNT_POINT
9.文件系統空間查看工具:df,du
df:列出文件系統的整體磁盤使用量 -a?:列出所有的文件系統,包括系統特有的?/proc?等文件系統; -k?:以?KBytes?的容量顯示各文件系統; -m?:以?MBytes?的容量顯示各文件系統; -h?:以人們較易閱讀的?GBytes,?MBytes,?KBytes?等格式自行顯示; -H?:以?M=1000K?取代?M=1024K?的進位方式; -T?:顯示文件系統類型,?連同該?partition?的?filesystem?名稱?(例如?ext3)?也列出; -i?:不用硬盤容量,而以?inode?的數量來顯示 du:檢查磁盤空間使用量 -a?:列出所有的文件與目錄容量,因為默認僅統計目錄底下的文件量而已。 -h?:以人們較易讀的容量格式?(G/M)?顯示; -s?:列出總量而已,而不列出每個各別的目錄占用容量; -S?:不包括子目錄下的總計,與?-s?有點差別。 -k?:以?KBytes?列出容量顯示; -m?:以?MBytes?列出容量顯示; dd:用指定大小的塊拷貝一個文件,并在拷貝的同時進行指定的轉換。 參數: if=文件名:輸入文件名,默認為標準輸入。即指定源文件。 of=文件名:輸出文件名,缺省為標準輸出。即指定目的文件。 bs=bytes:同時設置讀入/輸出的塊大小為bytes個字節。 count=blocks:僅拷貝blocks個塊,塊大小等于ibs指定的字節數。 常用就是以上四個 例:dd?if=/dev/zero?of=/root/file1?bs=1?count=1G,會生成一個1G大小的文件 dd命令可以測試磁盤的IO速率,以上例子就可看出 ibs=bytes:一次讀入bytes個字節,即指定一個塊大小為bytes個字節。 obs=bytes:一次輸出bytes個字節,即指定一個塊大小為bytes個字節。 cbs=bytes:一次轉換bytes個字節,即指定轉換緩沖區大小。 skip=blocks:從輸入文件開頭跳過blocks個塊后再開始復制。 seek=blocks:從輸出文件開頭跳過blocks個塊后再開始復制。 conv=conversion:用指定的參數轉換文件。 ascii:轉換ebcdic為ascii ebcdic:轉換ascii為ebcdic ibm:轉換ascii為alternate?ebcdic block:把每一行轉換為長度為cbs,不足部分用空格填充 unblock:使每一行的長度都為cbs,不足部分用空格填充 lcase:把大寫字符轉換為小寫字符 ucase:把小寫字符轉換為大寫字符 swab:交換輸入的每對字節 noerror:出錯時不停止 notrunc:不截短輸出文件 sync:將每個輸入塊填充到ibs個字節,不足部分用空(NUL)字符補
10.實現開機自動掛載
以上是臨時掛載,重啟則失效,要開機自動掛載就需要寫到文件中,其實Linux要想永久保存配置,就是寫成文件方式 /etc/fstab:文件內記錄的條目對應不同的設備,系統啟動后會讀此文件,自動掛載文件中記錄的設備 文件的格式:每一行為一個設備的掛載信息。 一行中的信息有: /etc/fstab每行定義一個要掛載的文件系統 1、要掛載的設備或偽文件系統 設備文件 LABEL:LABEL="" UUID:UUID="" 偽文件系統名稱:proc,?sysfs 2、掛載點 3、文件系統類型:ext4,xfs,nfs,none 4、掛載選項:defaults?,acl,bind 5、轉儲頻率:0:不做備份?1:每天轉儲?2:每隔一天轉儲 6、fsck檢查的文件系統的順序:允許的數字是0,?1,?和2 0:不自檢 1:首先自檢;一般只有rootfs才用 2:非rootfs使用
二、軟raid的介紹
1.什么是raid
? ? ? ? RAID是“Redundant Array of Independent Disk”的縮寫,中文意思是獨立冗余磁盤陣列。冗余磁盤陣列技術誕生于1987年,由美國加州大學伯克利分校提出。簡單地解釋,就是將N臺硬盤通過RAID Controller(分Hardware,Software)結合成虛擬單臺大容量的硬盤使用。RAID的采用為存儲系統(或者服務器的內置存儲)帶來巨大利益,其中提高傳輸速率和提供容錯功能是最大的優點。
? ? ? ? RAID磁盤陣列(Redundant Array of Independent Disks),其特色是N臺硬盤同時讀取速度加快及提供容錯性Fault Tolerant,所以RAID主要是解決訪問數據的存儲速度問題(Storage)不是備份問題(Backup Solution)。簡單的說,RAID是一種把多塊獨立的硬盤(物理硬盤)按不同的方式組合起來形成一個硬盤組(邏輯硬盤),從而提供比單個硬盤更高的存儲性能和提供數據備份技術。根據磁盤陳列的不同組合方式,可以將RAID分為不同的級別。磁盤陣列中針對不同的應用使用的不同技術,稱為RAID level,而每一level都代表著不同技術,目前業界公認的標準是RAID 0~RAID 5。
2.raid的特性:
擴大了存儲能力 可由多個硬盤組成容量巨大的存儲空間。
降低了單位容量的成本 市場上最大容量的硬盤每兆容量的價格要大大高于普及型硬盤,因此采用多個普及型硬盤組成的陣列其單位價格要低得多。
提高了存儲速度 單個硬盤速度的提高均受到各個時期的技術條件限制,要更進一步往往是很困難的,而使用RAID,則可以讓多個硬盤同時分攤數據的讀或寫操作,因此整體速度有成倍地提高。
可靠性 RAID系統可以使用兩組硬盤同步完成鏡像存儲,這種安全措施對于網絡服務器來說是最重要不過的了。
容錯性 RAID控制器的一個關鍵功能就是容錯處理。容錯陣列中如有單塊硬盤出錯,不會影響到整體的繼續使用,高級RAID控制器還具有拯救數據功能。
對于IDE RAID來說,目前還有一個功能就是支持ATA/66/100。
3.raid的實現方式:
外接式磁盤陣列:通過擴展卡提供適配能力
內接式RAID:主板集成RAID控制器,安裝OS前在BIOS里配置
軟件RAID:通過OS實現
4.raid的級別
raid級別: raid-0:分布式存儲數據 讀、寫性能提升 無容錯能力 最少磁盤數2,2+ 磁盤利用率100% raid-1:鏡像式存儲數據 讀性能提升、寫性能略有下降 有冗余能力 最少磁盤數2,2N 可用空間50% raid-5: 讀、寫性能提升 有冗余能力,允許最多一塊磁盤損壞 最少磁盤數3,3+ 可用空間?:N-1 raid-6: 讀、寫性能提升 有容錯能力,允許最多兩塊盤損壞 最少磁盤數4,4+ 可用空間?:N-2 raid-1?0?===??raid-0?1 :先做1?在做0?或者?先做0?在做1 讀、寫性能提升 有容錯能力。每組鏡像最多只能壞一塊 最少磁盤數4,4+ 可用空間100% raid-10用的多 實現軟件radio mdadm工具:為軟件raid提供管理 -V:版本信息 -v:創建時詳細信息 -q:靜默模式 創建選項:-C -l:指定raid級別 -n:設備的個數 -a:yes|no,是否自動創建設備文件 -c:指定chunk大小 -x:指定空閑盤個數 管理選項:--add -r:移除一個設備 -f:模擬一個設備故障
5.創建一個軟raid
要求:創建一個可用空間為1G的RAID1設備,文件系統為ext4,有一個空閑盤,開機可自動掛載至/backup目錄
創建raid1需要兩塊磁盤,這里選用sdb sdc做練習,空閑磁盤用sdd
首先使用fdisk工具將硬盤分區,id修改為raid
w保存分區信息sdc和sdd使用同樣的操作創建分區因為時組織在一起使用,我們創建完raid之后再進行格式化,不需要單個磁盤格式化,創建raid并查看
寫入文件系統
配置/etc/fstab文件實現開機自動掛載
6.清除軟raid
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。