天天看點

Linux——系統的磁盤管理,裝置挂載和解除安裝,劃分分區

一.本地儲存設備的識别

fdisk		-l				#真實存在的裝置(不一定被系統識别)
cat 	/proc/partitions  	#系統識别的裝置
blkid						#系統可以使用的裝置
df							#系統正在挂載的裝置
df 			-h				#1k=1024    -h全稱為--human-readable 以人易讀的方式
df			-H				#1k=1000
           

例:

[[email protected] test]# fdisk -l		#真實存在的裝置(不一定被系統識别)

Disk /dev/sda: 320.1 GB, 320072933376 bytes, 625142448 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x000049d3

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048   617275391   308636672   83  Linux
/dev/sda2       617275392   625141759     3933184   82  Linux swap / Solaris

Disk /dev/sdb: 15.7 GB, 15669919744 bytes, 30605312 sectors  #U盤
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x9206ae6b

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1              32    30605311    15302640    c  W95 FAT32 (LBA)
           

例:

[[email protected] test]# cat /proc/partitions 	#系統識别的裝置
major minor  #blocks  name

   8        0  312571224 sda
   8        1  308636672 sda1
   8        2    3933184 sda2
  11        0    1048575 sr0
   7        0    3704832 loop0
   7        1    3655680 loop1
   8       16   15302656 sdb
   8       17   15302640 sdb1
           

例:

[[email protected] test]# blkid 	#系統可以使用的裝置
/dev/sda1: UUID="64b2cd13-b314-448e-8c80-1ed7f162dc04" TYPE="xfs" 
/dev/sda2: UUID="7876e0e9-83f1-43c4-b486-262f84c84988" TYPE="swap" 
/dev/loop0: UUID="2016-10-19-18-32-06-00" LABEL="RHEL-7.3 Server.x86_64" TYPE="iso9660" PTTYPE="dos" 
/dev/loop1: UUID="2014-05-07-03-58-46-00" LABEL="RHEL-7.0 Server.x86_64" TYPE="iso9660" PTTYPE="dos" 
/dev/sdb1: UUID="9898-1CB2" TYPE="vfat" 
           

例:

[[email protected] test]# df		#系統正在挂載的裝置
Filesystem     1K-blocks     Used Available Use% Mounted on
/dev/sda1      308485972 89167552 219318420  29% /
devtmpfs         1950408        0   1950408   0% /dev
tmpfs            1965404      536   1964868   1% /dev/shm
tmpfs            1965404     9096   1956308   1% /run
tmpfs            1965404        0   1965404   0% /sys/fs/cgroup


[[email protected] test]# df -h		#
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda1       295G   86G  210G  29% /
devtmpfs        1.9G     0  1.9G   0% /dev
tmpfs           1.9G  536K  1.9G   1% /dev/shm

[[email protected] test]# df -H
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda1       316G   92G  225G  29% /
devtmpfs        2.0G     0  2.0G   0% /dev
tmpfs           2.1G  549k  2.1G   1% /dev/shm


           

df裝置解釋:

Filesystem      Size  Used Avail Use% Mounted on
	1			 2		3	 4	  5		 6
	1:裝置的名稱
	2:裝置的大小
	3:已經使用的空間大小
	4:剩餘的空間大小
	5:磁盤使用率
	6:磁盤挂載的目錄

裝置檔案在`/dev`下
例如:/dev/sda1		/dev/sda2
檔案名的前兩位為裝置的類型:并口硬碟為hd  序列槽硬碟或者SCSI硬碟為sd
檔案名的第3位為該類型的裝置的順序号:abc...  主硬碟dha  從硬碟hdb      sdasdb以此類推
檔案名的第4位為該硬碟的分區号1~4,從5以後位邏輯分區   sda1 sda2

/dev/xd*     

x=s(/dev/sd*    sata硬碟是什麼硬碟,并口還是序列槽,或者iscsi網絡存儲)  

 =v(/dev/vd*虛拟硬碟,一般出現在虛拟機裡)  vdb1就是虛拟硬碟vdb中的第一個分區

 =h(/dev/hd*ide硬碟,一般出現在老式電腦裡面)

/dev/sda1   系統中的第一塊sata硬碟的第一個分區

*=a~z     /dev/vda,系統中第一塊a虛拟v硬碟d

/dev/cdom,   /dev/sr*[0-....]  系統中的光驅

/dev/mapper/*        系統中的虛拟裝置

           

二.裝置的挂載和解除安裝

裝置必須要用目錄來對裝置中的内容進行讀取,是以裝置在使用時需要作挂載動作

mount:是linux下的一個指令,将裝置接入到linux的一個目錄下,進而将裝置和系統聯系起來

mount			裝置			挂載點
mount 			/dev/sdb1  /mnt  #把系統中sbd1硬碟挂載在/mnt下
Mount  -o  ro 	/dev/sdb1  /mnt  #隻讀挂載sbd1硬碟在/mnt下
###隻讀挂載即所挂載的地方隻能進行讀的操作而無法寫入,在挂載點建立檔案失敗 即無法進行寫的操作
Mount -o remount,rw   /mnt   /dev/sdb1   #在裝置被使用時更改裝置的挂載參數為rw
###将裝置在不解除安裝的情況下更改其使用模式,将隻讀模式改為讀寫模式 
Umount			裝置			挂載點	#正常不使用即進行解除安裝 解除安裝成功後 則不顯示
           

開機自動挂載裝置

在 vim  /etc/fstab
裝置名稱		挂載點	檔案系統的類型	 挂載參數			是否備份	是否檢測
/dev/vdc1   /mnt    xfs    		 defaults        0       0
           

fstable比rc.local要快,在系統啟動時,核心啟動時,這個檔案就會被優先讀取,裝置就會被挂載上

用mount -a檢查是否有代碼錯誤

當umount時提示裝置正忙時

正在使用,表示裝置正在被系統的某個程式使用(這裡你可以在挂載點建立一個檔案 寫入還沒儲存關閉 解除安裝就是任務在忙 因為在挂載點進行的操作還沒有結束 進行這步操作來進行模拟這個實驗的環境)

Lsof 	/dev/vdb1(分區或者裝置挂載點都可以)  #檢視正在使用的pid
Kill -9 pid		#根據查詢到的pid關閉程序

fuser -vm /dev/sdb1|/mnt #檢視這個任務的程序,誰在用
fuser -kvm /dev/vdb1 #表示強制關閉此程序 之後就可以進行解除安裝
           

三.磁盤分區管理

(虛拟機中可以管理虛拟磁盤)

1.裝置分區資訊

MBR,全稱為Master Boot Record,即 硬碟的主引導記錄。

主引導記錄(MBR,Master Boot Record)是位于磁盤最前邊的一段引導(Loader)代碼。它負責磁盤作業系統(DOS)對磁盤進行讀寫時分區合法性的判别、分區引導資訊的定位,它由磁盤作業系統(DOS)在對硬碟進行初始化時産生的。

由于硬碟的主引導記錄中僅僅為分區表保留了64個位元組的存儲空間,而每個分區的參數占據16個位元組,故主引導扇區中總計隻能存儲4個分區的資料。也就是說,一塊實體硬碟隻能劃分為4個主分區磁盤。并且MBR最大僅支援2TB的硬碟,在現在這個連4T都不稀奇的時代,MBR出場的機會恐怕會越來越少。

一般把它和分區聯系起來的時候,就會代表一種分區的制式。

1)、mbr主引導記錄446個位元組(引導磁頭找系統的啟動分區)

2)、Mpt主分區表64個位元組

3)、硬碟的有效性标示“55aa”2個位元組(改變會無法識别硬碟)

4)、一個主分區占用16個位元組記錄分區資訊

5)、一塊硬碟上如果用mbr的分區方式最多可以存在4個主分區

6)、主分區

7)、擴充分區(擴充分區中劃分出來的即為邏輯分區)

8)、邏輯分區

一塊磁盤上如果用mbr的分區方式,最多可以存在四個主分區 該四個分區可以為p+p+p+p 但這種分法會出現浪費,即使磁盤還有多的空間,也将無法使用) 但如果是p+p+p+e(前三個主分區剩餘的硬碟容量均為擴充分區的容量,之後就可以把擴充分區繼續劃分為邏輯分區 這樣一定程度上避免了浪費)

2.劃分分區

(1)fdisk /dev/vdb

fdisk 		/dev/vdb    #m進入幫助
D 删除分區
N 建立分區
P 現實分區表資訊
Q 退出
T 修改分區id
W 将目前操作寫入硬碟分區表
           

(2).n 建立分區

(建立分區類型:p 主分區 e擴充分區)

(3).p 檢視

(1、回車:預設p主分區)

(2、回車,預設第幾塊盤,ex:/dev/vdb1, /dev/vdb2 回車均表示預設)

(3、+5G)

(4、設定好可以p檢視一下)

(4).設定完後要同步分區表

partprobe #同步分區表

[[email protected] yum.repos.d]# fdisk /dev/vdc   #開始劃分分區
Welcome to fdisk (util-linux 2.23.2).

Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.

Device does not contain a recognized partition table
Building a new DOS disklabel with disk identifier 0x5e49a3d7.

Command (m for help): n		#建立分區
Partition type:
   p   primary (0 primary, 0 extended, 4 free)
   e   extended
Select (default p): p   #主分區
Partition number (1-4, default 1): 1   #分區的編号
First sector (2048-41943039, default 2048):    #分區的起始位址
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-41943039, default 41943039): +5G
Partition 1 of type Linux and of size 5 GiB is set

Command (m for help): p		#檢視分區資訊

Disk /dev/vdc: 21.5 GB, 21474836480 bytes, 41943040 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x5e49a3d7

   Device Boot      Start         End      Blocks   Id  System
/dev/vdc1            2048    10487807     5242880   83  Linux
Command (m for help): wq			#退出儲存
The partition table has been altered!

Calling ioctl() to re-read partition table.
Syncing disks.

[[email protected] yum.repos.d]# partprobe   #同步分區表
[[email protected] yum.repos.d]# cat /proc/partitions   #重新檢視系統識别的裝置
major minor  #blocks  name

 253        0   10485760 vda
 253        1   10484142 vda1
 253       16   10485760 vdb
 253       17     512000 vdb1
 252        0     507904 dm-0
 253       32   20971520 vdc
 253       33    5242880 vdc1				#從vdc中新分出來的5G  vdc1
 253       48   10485760 vdd

           

繼續閱讀