Linux磁盤管理及軟raid使用方法

一、磁盤的管理介紹

成都創(chuàng)新互聯(lián)公司10多年成都企業(yè)網站建設服務;為您提供網站建設,網站制作,網頁設計及高端網站定制服務,成都企業(yè)網站建設及推廣,對成都柔性防護網等多個行業(yè)擁有多年的網站制作經驗的網站建設公司。

  1. 硬盤的格式:

硬盤分為兩種格式MBR和GPT
MBR:在硬盤的0磁道0扇區(qū)上,該扇區(qū)大小為512個字節(jié),專門用來存儲MBR引導信息。
	MBR又分三部分:
		446個字節(jié):存儲boot?loader,引導加載器
		64個字節(jié):存儲分區(qū)表,有多少個分區(qū),每個分區(qū)從哪里開始再到哪里結束;其中每16個字節(jié)表示一個分區(qū),因此,在MBR格式的硬盤上最多只能有四個主分區(qū)
		2個字節(jié):前面信息的有效標識,結束標志。用四個16進制數(shù)表示為55aa,表示前510個字節(jié)是有效的,也就是說代表著分區(qū)是有效的,如果這兩個值為空那么即使建立了分區(qū)也是不生效的。
	因為只有64個字節(jié)存放分區(qū)信息,所以MBR格式的硬盤上最多可分四個主分區(qū),也可以劃分三個主分區(qū)+一個擴展分區(qū),擴展分區(qū)又可以劃分多個邏輯分區(qū);
	需要注意的是MBR最多支持2T的分區(qū),超過2T的MBR識別不了,就需要GPT來實現(xiàn)
GPT:兼容MBR,最多可創(chuàng)建128個主分區(qū),因為主分區(qū)數(shù)量夠多,不在需要擴展分區(qū),同時GPT也打破了MBR的最多2T分區(qū)的概念

磁盤管理常用的工具
MBR管理工具:fdisk
GPT管理工具:gdisk
高級管理工具:parted

2.fdisk:創(chuàng)建磁盤分區(qū)管理工具,MBR格式文件系統(tǒng)管理工具,對GPT格式的磁盤兼容性不好

fdisk?-l:查看分區(qū)信息
fdisk?/dev/device_name:管理磁盤的分區(qū)
fdisk創(chuàng)建分區(qū)會開啟一個交互式窗口,其中有很多子命令
	m:查看可使用的命令有哪些
	p:顯示當前磁盤的分區(qū)信息
	n:創(chuàng)建新分區(qū)
		p:為主分區(qū)
		e:為擴展分區(qū)
	d:刪除分區(qū)
	w:保存分區(qū)信息并退出
	q:不保存分區(qū)信息退出
	t:修改分區(qū)的系統(tǒng)ID
	l:列出系統(tǒng)上所有的系統(tǒng)ID
	L:列出支持的所有分區(qū)類型或者是分區(qū)類型所代表的16進制的ID

3.gdisk:創(chuàng)建磁盤分區(qū)管理工具,GPT格式文件系統(tǒng)管理工具,和fdisk的操作基本相同

gdisk?-l:查看分區(qū)信息
gdisk?/dev/device_name
gdisk創(chuàng)建分區(qū)會開啟一個交互式窗口,其中很很多命令
	?:顯示支持的命令列表
	p:顯示當前磁盤的分區(qū)信息
	n:創(chuàng)建新分區(qū)
	d:刪除分區(qū)
	w:保存分區(qū)信息并退出
	q:不保存分區(qū)信息退出
	l:列出系統(tǒng)上所有的系統(tǒng)ID也就是所有的分區(qū)類型

4.parted:綜合管理

用法:parted?[選項]...?[設備?[命令?[參數(shù)]...]...]
	parted?/dev/sdb?mklabel?gpt|msdos:指定分區(qū)的類型
	parted?/dev/sdb?print:打印當前分區(qū)信息
	parted?/dev/sdb?mkpart?primary?1?200?(默認M):進行分區(qū)primary(主分區(qū))extended(擴展分區(qū)),logical(邏輯分區(qū))
	parted?/dev/sdb?rm?1:刪除分區(qū),這個刪除是根據(jù)分區(qū)號進行刪除的
	parted?–l???列出分區(qū)信息

正常我們在系統(tǒng)開機的情況下直接添加的硬盤,系統(tǒng)是不會識別的,使用下面的命令讓系統(tǒng)重讀硬盤信息

echo?'-?-?-'?>?/sys/class/scsi_host/host0/scan:觸發(fā)硬件重新識別硬盤

對于剛創(chuàng)建好的分區(qū)來說,系統(tǒng)并不會識別,需要手動識別也就是我們需要同步分區(qū)表

同步分區(qū)表
	查看內核是否已經識別新的分區(qū)
		cat?/proc/partations
	centos6通知內核重新讀取硬盤分區(qū)表
		新增分區(qū)用
		partx?-a?/dev/DEVICE:增加分區(qū)的選項,也就是對這個設備增加分區(qū)讓增加的分區(qū)生效
		kpartx?-a?/dev/DEVICE?-f:?force(強制)
		刪除分區(qū)用
		partx?-d?--nr?M-N(分區(qū)的序號)?/dev/DEVICE:刪除分區(qū)
	CentOS?5,7:?使用partprobe:同步分區(qū)信息,將硬盤信息與內存中的分區(qū)信息
		partprobe?[/dev/DEVICE]:進行同步不加設備默認就是刷新所有設備的分區(qū)信息,添加設備只刷新指定設備的分區(qū)信息
注意:現(xiàn)在使用的硬盤分區(qū)必須是硬盤中一塊連續(xù)的空間

5.常見的文件系統(tǒng)分類

常用的Linux文件系統(tǒng):
		ext2(Extended?file?system)?:適用于那些分區(qū)容量不是太大,更新也不頻繁的情況,例如?/boot?分區(qū)
		ext3:是?ext2?的改進版本,其支持日志功能,能夠幫助系統(tǒng)從非正常關機導致的異常中恢復。它通常被用作通用的文件系統(tǒng)
		ext4:是?ext?文件系統(tǒng)的最新版。提供了很多新的特性,包括納秒級時間戳、創(chuàng)建和使用巨型文件(16TB)、最大1EB的文件系統(tǒng),以及速度的提升(配合gpt使用)
		xfs:SGI,支持最大8EB的文件系統(tǒng)
		btrfs(Oracle),?reiserfs,?jfs(AIX),?swap
光盤:iso9660
Windows:FAT32,?exFAT,NTFS
Unix:?FFS(fast),?UFS(unix),?JFS2
網絡文件系統(tǒng):NFS,?CIFS
集群文件系統(tǒng):GFS2,?OCFS2(oracle)
分布式文件系統(tǒng):?fastdfs,ceph,?moosefs,?mogilefs,?glusterfs,?Lustre

6.創(chuàng)建文件系統(tǒng)的工具:

mkfs命令
	第一種方式:直接使用以文件系統(tǒng)為后綴的命令mkfs.btrfs、mkfs.ext2、mkfs.ext4、mkfs.minix、mkfs.vfat、mkfs.cramfs、mkfs.ext3、mkfs.fat、mkfs.msdos、mkfs.xfs
	第二種方式:-t:指定文件系統(tǒng)類型
	-L:設定卷標,相當于注釋
對于交換文件系統(tǒng)swap,有特定的工具,但是要將磁盤的系統(tǒng)ID改為8e
mkswap	/dev/device_name
blkid:查看指定設備的屬性信息
	-U:根據(jù)UUID查找到對應的設備
	-L:根據(jù)卷標查找到對應的設備
tune2fs:調整文件系統(tǒng)的相關屬性
	-l:查看超級塊中的信息
	-L:設定或修改卷標
	-m:調整預留百分比
	-r:指定預留塊數(shù)
	-o:設定默認掛在選項
	-c?#:指定掛載次數(shù)達到#次后進行自檢,0或-1為關閉此功能
	-i?#:每次掛載多少天之后進行自檢,0或-1為關閉此功能
dumpe2fs:顯示文件系統(tǒng)屬性信息
	-h:只顯示超級塊中的信息

文件系統(tǒng)的檢測:
fsck:檢查并修復Linux文件系統(tǒng),修復完成后文件會變得不完整
	-t:指定文件系統(tǒng)類型
	-a:自動修復
	-r:交互式修復
e2fsck:專用于修復ext?系列的文件系統(tǒng)
	-y:對問題自定回復yes
	-f:強制檢查
	-p:自動修復

7.超級塊

作用是存儲文件系統(tǒng)的大小,有多少是空的和已經填滿的占多少,以及他們各自的總數(shù)和其他信息,要是用一個分區(qū)來訪問數(shù)據(jù),第一個就訪問的是超級塊,所以超級塊如果壞了,那磁盤就基本沒救了
超級塊占用第一號物理塊,是文件系統(tǒng)的控制塊。
超級塊是用存放元數(shù)據(jù)的,也就是從幾到幾是屬于一個塊的文件系統(tǒng),比如大小,空閑塊的數(shù)目,空閑塊的索引表,空閑的iNode節(jié)點數(shù)目,空閑的iNode索引表等等。
為了防止超級塊損壞,就需要對超級塊進行備份,以便損壞時可以修復。

8.文件系統(tǒng)的掛載和卸載

掛載:將額外文件系統(tǒng)與根文件系統(tǒng)某現(xiàn)存的目錄建立起關聯(lián)關系,進而使得此目錄做為其它文件訪問入口的行為
卸載:為解除此關聯(lián)關系的過程
mount:掛載工具
	格式:mount?設備?掛載點
根文件系統(tǒng)默認給定了臨時掛載點:/mnt、/opt、/media
當然也可以掛載到別的目錄,但是掛載目錄必須事先存在,且最好為空目錄,要不目錄下文件將被隱藏;
常用的mount掛在選項:
	-t:指定文件系統(tǒng)類型
	-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,數(shù)據(jù)寫操作先在內存完成,然后在整體同步到磁盤上
		sync:同步I/O,數(shù)據(jù)一邊寫一邊存到磁盤上
		atime/noatime:是否修改文件的訪問時間,追求性格時可關閉,因為修改訪問時間也會有寫磁盤操作
		dirname/nodirname:是否修改目錄的訪問時間
		auto/noauto:設備是否支持自動掛載,mount?-a選項
		dev/nodev:是否支持在此設備上使用設備文件
		exec/noexec:是否允許執(zhí)行此設備上的二進制程序
		suid/nosuid:是否支持次設備上的文件擁有特殊權限
		user/nouser:是否支持普通用戶掛在此設備
		acl:在此設備上是否支持使用ACL,centos7默認支持,之前的版本默認不支持
	掛載時可同時使用多選項,使用逗號隔開即可
	mount不加選項默認的掛載選項:
		rw,suid,dev,exec,auto,nouser,async
交換分區(qū)的掛載:
	swapon:啟用swap分區(qū)
		-a:使/etc/fstab中,所有標記了'sw'的交換設備生效
		-s:顯示系統(tǒng)上所有swap分區(qū)信息
		-p?#:可指定優(yōu)先級
	swapoff:禁用一個swap分區(qū)
		-a:禁用所有
	free:可查看內存和swap使用信息情況
		-m:以MB為單位顯示
		-g:以GB為單位顯示
卸載命令
	查看掛載情況
		findmnt?MOUNT_POINT|device:確認是否是掛載點
	查看正在訪問指定文件系統(tǒng)的進程
		lsof?MOUNT_POINT
		fuser?-v?MOUNT_POINT
	終止所有在正訪問指定的文件系統(tǒng)的進程
		fuser?-km?MOUNT_POINT:把使用此進程的所有目錄全部關閉掉
	卸載
		umount?DEVICE
		umount?MOUNT_POINT

9.文件系統(tǒng)空間查看工具:df,du

df:列出文件系統(tǒng)的整體磁盤使用量	
	-a?:列出所有的文件系統(tǒng),包括系統(tǒng)特有的?/proc?等文件系統(tǒng);
	-k?:以?KBytes?的容量顯示各文件系統(tǒng);
	-m?:以?MBytes?的容量顯示各文件系統(tǒng);
	-h?:以人們較易閱讀的?GBytes,?MBytes,?KBytes?等格式自行顯示;
	-H?:以?M=1000K?取代?M=1024K?的進位方式;
	-T?:顯示文件系統(tǒng)類型,?連同該?partition?的?filesystem?名稱?(例如?ext3)?也列出;
	-i?:不用硬盤容量,而以?inode?的數(shù)量來顯示
du:檢查磁盤空間使用量
	-a?:列出所有的文件與目錄容量,因為默認僅統(tǒng)計目錄底下的文件量而已。
	-h?:以人們較易讀的容量格式?(G/M)?顯示;
	-s?:列出總量而已,而不列出每個各別的目錄占用容量;
	-S?:不包括子目錄下的總計,與?-s?有點差別。
	-k?:以?KBytes?列出容量顯示;
	-m?:以?MBytes?列出容量顯示;
dd:用指定大小的塊拷貝一個文件,并在拷貝的同時進行指定的轉換。
	參數(shù):
		if=文件名:輸入文件名,默認為標準輸入。即指定源文件。
		of=文件名:輸出文件名,缺省為標準輸出。即指定目的文件。
		bs=bytes:同時設置讀入/輸出的塊大小為bytes個字節(jié)。
		count=blocks:僅拷貝blocks個塊,塊大小等于ibs指定的字節(jié)數(shù)。
	常用就是以上四個
		例:dd?if=/dev/zero?of=/root/file1?bs=1?count=1G,會生成一個1G大小的文件
			dd命令可以測試磁盤的IO速率,以上例子就可看出
		
		ibs=bytes:一次讀入bytes個字節(jié),即指定一個塊大小為bytes個字節(jié)。
		obs=bytes:一次輸出bytes個字節(jié),即指定一個塊大小為bytes個字節(jié)。
		cbs=bytes:一次轉換bytes個字節(jié),即指定轉換緩沖區(qū)大小。
		skip=blocks:從輸入文件開頭跳過blocks個塊后再開始復制。
		seek=blocks:從輸出文件開頭跳過blocks個塊后再開始復制。
		conv=conversion:用指定的參數(shù)轉換文件。
			ascii:轉換ebcdic為ascii
			ebcdic:轉換ascii為ebcdic
			ibm:轉換ascii為alternate?ebcdic
			block:把每一行轉換為長度為cbs,不足部分用空格填充
			unblock:使每一行的長度都為cbs,不足部分用空格填充
			lcase:把大寫字符轉換為小寫字符
			ucase:把小寫字符轉換為大寫字符
			swab:交換輸入的每對字節(jié)
			noerror:出錯時不停止
			notrunc:不截短輸出文件
			sync:將每個輸入塊填充到ibs個字節(jié),不足部分用空(NUL)字符補

10.實現(xiàn)開機自動掛載

以上是臨時掛載,重啟則失效,要開機自動掛載就需要寫到文件中,其實Linux要想永久保存配置,就是寫成文件方式
/etc/fstab:文件內記錄的條目對應不同的設備,系統(tǒng)啟動后會讀此文件,自動掛載文件中記錄的設備
文件的格式:每一行為一個設備的掛載信息。
一行中的信息有:
	/etc/fstab每行定義一個要掛載的文件系統(tǒng)
	1、要掛載的設備或偽文件系統(tǒng)
		設備文件
		LABEL:LABEL=""
		UUID:UUID=""
		偽文件系統(tǒng)名稱:proc,?sysfs
	2、掛載點
	3、文件系統(tǒng)類型:ext4,xfs,nfs,none
	4、掛載選項:defaults?,acl,bind
	5、轉儲頻率:0:不做備份?1:每天轉儲?2:每隔一天轉儲
	6、fsck檢查的文件系統(tǒng)的順序:允許的數(shù)字是0,?1,?和2
		0:不自檢
		1:首先自檢;一般只有rootfs才用
		2:非rootfs使用

二、軟raid的介紹

1.什么是raid

? ? ? ? RAID是“Redundant Array of Independent Disk”的縮寫,中文意思是獨立冗余磁盤陣列。冗余磁盤陣列技術誕生于1987年,由美國加州大學伯克利分校提出。簡單地解釋,就是將N臺硬盤通過RAID Controller(分Hardware,Software)結合成虛擬單臺大容量的硬盤使用。RAID的采用為存儲系統(tǒng)(或者服務器的內置存儲)帶來巨大利益,其中提高傳輸速率和提供容錯功能是最大的優(yōu)點。

? ? ? ? RAID磁盤陣列(Redundant Array of Independent Disks),其特色是N臺硬盤同時讀取速度加快及提供容錯性Fault Tolerant,所以RAID主要是解決訪問數(shù)據(jù)的存儲速度問題(Storage)不是備份問題(Backup Solution)。簡單的說,RAID是一種把多塊獨立的硬盤(物理硬盤)按不同的方式組合起來形成一個硬盤組(邏輯硬盤),從而提供比單個硬盤更高的存儲性能和提供數(shù)據(jù)備份技術。根據(jù)磁盤陳列的不同組合方式,可以將RAID分為不同的級別。磁盤陣列中針對不同的應用使用的不同技術,稱為RAID level,而每一level都代表著不同技術,目前業(yè)界公認的標準是RAID 0~RAID 5。

2.raid的特性:

  • 擴大了存儲能力 可由多個硬盤組成容量巨大的存儲空間。

  • 降低了單位容量的成本 市場上最大容量的硬盤每兆容量的價格要大大高于普及型硬盤,因此采用多個普及型硬盤組成的陣列其單位價格要低得多。

  • 提高了存儲速度 單個硬盤速度的提高均受到各個時期的技術條件限制,要更進一步往往是很困難的,而使用RAID,則可以讓多個硬盤同時分攤數(shù)據(jù)的讀或寫操作,因此整體速度有成倍地提高。

  • 可靠性 RAID系統(tǒng)可以使用兩組硬盤同步完成鏡像存儲,這種安全措施對于網絡服務器來說是最重要不過的了。

  • 容錯性 RAID控制器的一個關鍵功能就是容錯處理。容錯陣列中如有單塊硬盤出錯,不會影響到整體的繼續(xù)使用,高級RAID控制器還具有拯救數(shù)據(jù)功能。

  • 對于IDE RAID來說,目前還有一個功能就是支持ATA/66/100。

3.raid的實現(xiàn)方式:

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

  • 內接式RAID:主板集成RAID控制器,安裝OS前在BIOS里配置

  • 軟件RAID:通過OS實現(xiàn)

4.raid的級別

raid級別:	
	raid-0:分布式存儲數(shù)據(jù)
		讀、寫性能提升
		無容錯能力
		最少磁盤數(shù)2,2+
		磁盤利用率100%

	raid-1:鏡像式存儲數(shù)據(jù)
		讀性能提升、寫性能略有下降
		有冗余能力
		最少磁盤數(shù)2,2N
		可用空間50%
	
	raid-5:
		讀、寫性能提升
		有冗余能力,允許最多一塊磁盤損壞
		最少磁盤數(shù)3,3+
		可用空間?:N-1
	
	raid-6:
		讀、寫性能提升
		有容錯能力,允許最多兩塊盤損壞
		最少磁盤數(shù)4,4+
		可用空間?:N-2
		
	raid-1?0?===??raid-0?1	:先做1?在做0?或者?先做0?在做1
		讀、寫性能提升
		有容錯能力。每組鏡像最多只能壞一塊
		最少磁盤數(shù)4,4+
		可用空間100%
		raid-10用的多
實現(xiàn)軟件radio
	mdadm工具:為軟件raid提供管理
			-V:版本信息
			-v:創(chuàng)建時詳細信息
			-q:靜默模式
		創(chuàng)建選項:-C
			-l:指定raid級別
			-n:設備的個數(shù)
			-a:yes|no,是否自動創(chuàng)建設備文件
			-c:指定chunk大小
			-x:指定空閑盤個數(shù)
		管理選項:--add
			-r:移除一個設備
			-f:模擬一個設備故障

5.創(chuàng)建一個軟raid

要求:創(chuàng)建一個可用空間為1G的RAID1設備,文件系統(tǒng)為ext4,有一個空閑盤,開機可自動掛載至/backup目錄

創(chuàng)建raid1需要兩塊磁盤,這里選用sdb sdc做練習,空閑磁盤用sdd
首先使用fdisk工具將硬盤分區(qū),id修改為raid

Linux磁盤管理及軟raid使用方法

w保存分區(qū)信息sdc和sdd使用同樣的操作創(chuàng)建分區(qū)因為時組織在一起使用,我們創(chuàng)建完raid之后再進行格式化,不需要單個磁盤格式化,創(chuàng)建raid并查看

Linux磁盤管理及軟raid使用方法

寫入文件系統(tǒng)

Linux磁盤管理及軟raid使用方法

配置/etc/fstab文件實現(xiàn)開機自動掛載

Linux磁盤管理及軟raid使用方法

Linux磁盤管理及軟raid使用方法

6.清除軟raid

Linux磁盤管理及軟raid使用方法

Linux磁盤管理及軟raid使用方法

文章名稱:Linux磁盤管理及軟raid使用方法
地址分享:http://muchs.cn/article34/ipjope.html

成都網站建設公司_創(chuàng)新互聯(lián),為您提供響應式網站、App開發(fā)、ChatGPT、搜索引擎優(yōu)化、網站營銷、網站內鏈

廣告

聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

網站優(yōu)化排名