分區不是必要的,分區是與系統盤分開,防止數據丟失。
磁盤使用流程:查看磁盤(fdisk -l)---分區---格式化(創建文件系統)----掛載(自動掛載)
分區表類型:msdos(一般是系統分區) 和 gpt(一般是數據分區)
Msdos(Microsoft Disk Operating System,):最多支持4個分區,單分區最大2T.
Gpt(GUID Partition Table,其含義為“全局唯一標識磁盤分區表”):沒有分區數量限制,單分區最大18EB
因msdos只支持4個分區,所以若需多個分區,可以用擴展分區.主分區分完后,其他是擴展分區,在擴展分區里區分邏輯分區,由擴展分區管理.擴展分區只能有一個,負責管理邏輯分區,不能進行格式化.主分區能當引導分區用,邏輯分區不能,其他存儲數據都一樣.主分區和邏輯分區可以格式化.主分區不是必須的,一般會將硬盤所有容量給擴展分區.
Msdos分區表類型:分區表信息會寫在磁盤頭,容量有限,故最多只支持4個分區.而在擴展分區里會記錄分區表,就可以建多個邏輯分區了.一般都是分一個主分區,其他全部空間給擴展分區,然后在里面分配邏輯分區
主分區和擴展分區編號是1-4,邏輯分區時5-over...
針對新的磁盤,創建完成保存退出后,會自動更新分區表信息,故舊磁盤需partx -a device_name (a --add )
查看磁盤:ll /dev/sd*
查看磁盤:fdisk -l
[root@lbg ~]# ll /dev/sd*
brw-rw---- 1 root disk 8, 0 Oct 4 16:30 /dev/sda
brw-rw---- 1 root disk 8, 1 Oct 4 16:30 /dev/sda1
brw-rw---- 1 root disk 8, 2 Oct 4 16:30 /dev/sda2
brw-rw---- 1 root disk 8, 3 Oct 4 16:30 /dev/sda3
brw-rw---- 1 root disk 8, 16 Oct 4 16:30 /dev/sdb
[root@lbg udev]# fdisk -l
Disk /dev/sda: 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: 0x000c5fa7
Device Boot Start End Blocks Id System
/dev/sda1 * 2048 821247 409600 83 Linux
/dev/sda2 821248 1230847 204800 82 Linux swap / Solaris
/dev/sda3 1230848 41943039 20356096 83 Linux
介紹說明:Disk /dev/sda: 21.5 GB, 21474836480 bytes(bytes=B代表字節,bit=b代表位), 41943040 sectors(扇區)
heads:表示磁頭數。 sectors:扇區 track:磁道。cylinders:柱面。
磁盤的大小=一個柱面大小*柱面的總數=磁頭數量*每個磁道上的扇區數*一個扇區大小*柱面總數
文件儲存在硬盤上,硬盤的最小存儲單位叫做"扇區"(Sector)。每個扇區儲存512字節(相當於0.5KB).操作系統讀取硬盤的時候,不會一個個扇區地讀取,這樣效率太低,而是一次性連續讀取多個扇區,即一次性讀取一個"塊"(block)。這種由多個扇區組成的"塊",是文件存取的最小單位。"塊"的大小,最常見的是4KB,即連續八個 sector組成一個 block。
磁盤正在使用(有掛載就表示正在使用)不能用不同的方式分區,需先卸載(umount).但用同一種分區方法時,當前設備是否在用不受影響.
查看文件系統磁盤使用情況: df -Th (-T type -h human-readable)
[root@lbg udev]# df -Th
Filesystem Type Size Used Avail Use% Mounted on
/dev/sda3 xfs 20G 3.3G 17G 17% /
devtmpfs devtmpfs 478M 0 478M 0% /dev
tmpfs tmpfs 493M 0 493M 0% /dev/shm
/dev/sr0 iso9660 4.3G 4.3G 0 100% /mnt/rhel
/dev/sda1 xfs 397M 146M 251M 37% /boot
磁盤分區步驟:
[root@lbg ~]# fdisk -l --顯示已格式化的磁盤
[root@lbg ~]# ll /dev/sd* ---顯示所有磁盤
通過上面兩個命令的對比可查看沒有分區的磁盤。
對sdb分區: fdisk /dev/sdb
其中:d(刪除分區) n(添加分區) p(打印現有分區表) q(退出不保存) w(保存並退出)
m 幫助(menu)
n 創建分區(new partition)
p 分區表信息(partition table)
q quit
w write
d-> delete
l--> 列出已知分區類型
Command (m for help): n --添加分區
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
其中 extended:是擴展分區,primary 是主分區.
其中給定分區大小時:+加單位就是容量,不加單位就是用柱面算.
Select (default p): p
Partition number (1-4, default 1): 1
Last sector, +sectors or +size{K,M,G} (2048-4194303, default 4194303): +1G
Partition 1 of type Linux and of size 1 GiB is set
Device Boot Start End Blocks Id System
/dev/sdb1 2097152 4194303 1048576 83 Linux
Select (default p): e ----設置擴展分區,一般將剩下的所有容量都給擴展分區,故一直直接回車就行
Partition number (2-4, default 2):
First sector (2099200-4194303, default 2099200):
Using default value 2099200
Last sector, +sectors or +size{K,M,G} (2099200-4194303, default 4194303):
Using default value 4194303
Partition 2 of type Extended and of size 1023 MiB is set
Device Boot Start End Blocks Id System
/dev/sdb1 2048 2099199 1048576 83 Linux
/dev/sdb2 2099200 4194303 1047552 5 Extended
Command (m for help): n ----再添加新的分區--邏輯分區
Partition type:
p primary (1 primary, 1 extended, 2 free)
l logical (numbered from 5) -----有了擴展分區后,再分區就有邏輯分區
Adding logical partition 5
First sector (2101248-4194303, default 2101248):
Last sector, +sectors or +size{K,M,G} (2101248-4194303, default 4194303): +500M
Partition 5 of type Linux and of size 500 MiB is set
Device Boot Start End Blocks Id System
/dev/sdb1 2048 2099199 1048576 83 Linux
/dev/sdb2 2099200 4194303 1047552 5 Extended
/dev/sdb5 2101248 3125247 512000 83 Linux
刷新分區表:partx -a /dev/sdb
查看分區命令 fdisk -l /dev/sdb(從內存看) 與 fdisk /dev/sdb(從磁盤里看) p查看的結果不同的話,用 partx -a /dev/sdb (刷新分區表a--add).不一致的原因可能是舊磁盤以前有分區表.
格式化步驟:
mkfs命令(make file system)格式化就是創建文件系統。(文件系統類型:6里ext4 ,7里xfs )
一個分區一個分區地格式化:
mkfs.ext4 /dev/sdb1 或者 mkfs -t ext4 /dev/sdb1 --- (t--type)
創建文件系統相當於在物理分區制作了一層內容,用來記錄文件的存放位置等等這些信息。你會發現創建了文件系統的磁盤你還沒用空間就少了十幾M,,就是這個原因.
判斷格式化是否成功:
格式化后就可查看該塊設備信息:blkid, 有了該設備就說明格式化成功.沒格式化的不在其中顯示.(blkid指block的id)
[root@lbg ~]# blkid
/dev/sda1: UUID="83d6abb5-1bda-497d-a33e-f11e601a6ff0" TYPE="xfs"
/dev/sda2: UUID="957ffd57-d1fc-40d5-87c2-5f57f15d6a11" TYPE="swap"
/dev/sda3: UUID="37765c8e-208a-4358-b643-7beeca05683c" TYPE="xfs"
/dev/sdb1: UUID="3c914c37-dc34-4fcf-932d-f4ea7753d2dc" TYPE="xfs"
/dev/sr0: UUID="2017-09-06-10-51-00-00" LABEL="CentOS 7 x86_64" TYPE="iso9660" PTTYPE="dos"
掛載:
創建空目錄然后掛載mount /dev/sdb1 /mnt/cs (手動掛載臨時生效,重啟失效.)
再紅帽系統里有lost+found 文件夾說明掛載成功.或者直接mount查看是否掛載成功。
設置開機自動掛載:
掛載的本質是掛載設備上的文件系統,將掛載命令寫到下面兩種配置文件都可:
[root@lbg rhel]# vim /etc/rc.d/rc.local
[root@lbg rhel]# vim /etc/fstab
/etc/rc.d/rc.local是操作系統啟動最后一個讀取的腳本文件,操作系統基本已經啟動了,命令寫在這里面,可以開機自動掛載.開機掛載,能掛,但是不太合適,可以在這里掛載鏡像,掛載磁盤,可能啟動軟件需要的服務需要用到磁盤中的東西,這時候就不合適了.
/etc/fstab 中內容大致如下:
UUID=37765c8e-208a-4358-b643-7beeca05683c / xfs defaults 0 0
UUID=83d6abb5-1bda-497d-a33e-f11e601a6ff0 /boot xfs defaults 0 0
UUID=957ffd57-d1fc-40d5-87c2-5f57f15d6a11 swap swap defaults 0 0
/dev/sr0 /mnt/rhel iso9660 defaults 0 0
依次是:設備,掛載點,文件系統類型,文件系統掛載屬性(默認defaults),是否備份(寫0就行),是否進行文件系統檢查(寫0,不檢查就行,否則開機時間過長)0 ---不檢查 1 ---優先度高的檢查 2----優先度低的檢查
其中 UUid的值可以通過blkid查看.記着后面三個 defaults 0 0 . /etc/fstab 里面掛載點有/boot,故開機運行時很早,專門用來做自動掛載.而/etc/rc.d/rc.local可以寫很多其他命令,比如啟動服務.掛載鏡像.
檢測/etc/fstab修改是否正確:
注意:vim /etc/fstab.--系統重啟生效.若寫錯了,則系統無法正常開機,必須測,若寫錯了,則操作系統只能看,root用戶也無法改,檢測時 先 umount /dev/sdb1再mount -a --檢測/etc/fatab是否正確.(mount -a 是自動掛載 /etc/fstab 里面的東西,若無任何報錯輸出則表示/etc/fstab修改無問題。)
修復文件系統:
#fsck -a /dev/sdb1
#fsck -y /dev/sdb1