磁盤管理


磁盤管理

Linux系統中磁盤管理就是將硬盤通過掛載的方式掛載到linux文件系統中。

1、掛載磁盤的步驟
     ① 磁盤分區
     ② 掛載

2、磁盤分區
     fdisk : 分區2TB以下的磁盤,最多可以分4個分區
     gdisk : 分區2TB以上的磁盤,最多可以分128個分區

3、添加一塊磁盤
     lsblk   :  查看本機的磁盤
     df -h  :  查看本機的分區

4、磁盤分區
      n : 新建分區
      p : 打印分區表
      w : 寫入磁盤保存並退出
      q : 不保存退出
      d : 刪除分區
	
5、掛載磁盤分區
      格式化文件系統
       mkfs.xfs /dev/sdb1 

6、總結
    ① 關機
    ② 添加硬盤
    ③ 創建分區
           fdisk /dev/sdb
           或
           gdisk /dev/sdb
    ④ 格式化文件系統
           mkfs.xfs /dev/sdb1 
    ⑤ 掛載
           mount /dev/sdb1 /mnt

磁盤分區

  • 邏輯分區屬於擴展分區,擴展分區屬於主分區
  • 主分區又叫做引導分區,是可以安裝系統的分區

mbr

目前常見的磁盤分區格式有兩種,MBR分區和GPT分區:

  • MBR 分區,MBR 的意思是 "主引導記錄"。MBR 最大支持 2TB 容量,在容量方面存在着極大的瓶頸。
  • GPT 分區,GPT 意為 GUID 分區表,它支持的磁盤容量比 MBR 大得多。這是一個正逐漸取代 MBR 的新標准,它是由 UEFI 輔住而形成的,將來 UEFI 用於取代老舊的 BIOS,而 GPT 則取代老舊的 MBR。
# 磁盤分區工具

fdisk 工具用於 MBR 格式
gdisk 工具用於 GPT 格式

磁盤基本分區fdisk

1.添加一塊小於2TB的磁盤進行使用,步驟如下:

  • 1.給虛擬機添加一塊新的硬盤

  • 2.使用fdisk進行分區

  • 3.使用mkfs進行格式化

  • 4.使用mount進行掛載

    PS: 生產分區建議,如無特殊需求直接使用整個磁盤即可,無需分區。

[root@localhost ~]# fdisk -l
[root@localhost ~]# fdisk  /dev/sdb
Command (m for help): m         #輸入m列出常用的命令
Command action
   a   toggle a bootable flag               #切換分區啟動標記
   b   edit bsd disklabel                   #編輯sdb磁盤標簽
   c   toggle the dos compatibility flag    #切換dos兼容模式
   d   delete a partition                   #刪除分區
   l   list known partition types           #顯示分區類型
   m   print this menu                      #顯示幫助菜單
   n   add a new partition                  #新建分區
   o   create a new empty DOS partition table   #創建新的空白分區表
   p   print the partition table            #顯示分區表的信息
   q   quit without saving changes          #不保存退出
   s   create a new empty Sun disklabel     #創建新的Sun磁盤標簽
   t   change a partitions system id        #修改分區ID,可以通過l查看id
   u   change display/entry units           #修改容量單位,磁柱或扇區
   v   verify the partition table           #檢驗分區表
   w   write table to disk and exit         #保存退出
   x   extra functionality (experts only)   #拓展功能

1). fdisk創建主分區

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):  #默認創建第一個主分區
First sector (2048-2097151, default 2048): #默認扇區回車
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-2097151, default 2097151): +50M #分配50MB

2). fdisk創建擴展分區

Command (m for help): n  #新建分區
Partition type:
   p   primary (1 primary, 0 extended, 3 free)
   e   extended
Select (default p): e   #創建擴展分區
Partition number (2-4, default 2):
First sector (104448-2097151, default 104448):
Using default value 104448
Last sector, +sectors or +size{K,M,G} (104448-2097151, default 2097151): #空間都給到擴展分區

3). fdisk創建邏輯分區

Command (m for help): n  #新建分區
Partition type:
   p   primary (1 primary, 1 extended, 2 free)
   l   logical (numbered from 5)
Select (default p): l   #創建邏輯分區
Adding logical partition 5
First sector (106496-2097151, default 106496):
Using default value 106496
Last sector, +sectors or +size{K,M,G} (106496-2097151, default 2097151): +100M  #分配100MB空間

4). fdisk查看分區情況,並保存

Command (m for help): p #查看分區創建
Device Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048      104447       51200   83  Linux
/dev/sdb2          104448     2097151      996352    5  Extended
/dev/sdb5          106496      311295      102400   83  Linux

#保存分區
Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.

#檢查磁盤是否是MBR分區方式
[root@localhost ~]# fdisk /dev/sdb -l|grep type
Disk label type: dos

#安裝parted, 刷新內核立即生效,無需重啟
[root@localhost ~]# yum -y install parted
[root@localhost ~]# partprobe /dev/sdb

2.格式化磁盤

  • mkfs格式化磁盤,實質創建文件系統,文件系統類似於將房子裝修成3室一廳,還是2室一廳。
#選項: 
# -b  設定數據區塊占用空間大小,目前支持1024、2048、4096 bytes每個塊。
# -t  用來指定什么類型的文件系統,可以是ext4, xfs
# -i  設定inode的大小
# -N  設定inode數量,防止Inode數量不夠導致磁盤不足

#1.格式化整個磁盤
[root@localhost ~]# mkfs.ext4  /dev/sdb 

#2.格式化磁盤的某個分區
[root@localhost ~]# mkfs.xfs  /dev/sdb1

3.使用mount掛載並使用

  • 如果需要使用該磁盤的空間,需要准備一個空的目錄作為掛載點,與該設備進行關聯。
[root@localhost ~]# mkdir /data
[root@localhost ~]# mount /dev/sdb1 /data

磁盤基本分區gdisk

前面我們已經了解到fdisk分區,但fdisk不支持給高於2TB的磁盤進行分區。如果有單塊盤高於2TB,建議使用Gdisk進行分區。

1.使用gdisk進行磁盤分區

#1.安裝gdisk分區工具
[root@localhost ~]# yum install gdisk -y

#2.創建一個新分區,500MB大小
[root@localhost ~]# gdisk /dev/sdb
Command (? for help): n     #創建新分區
Partition number (1-128, default 1):
First sector (34-2097118, default = 2048) or {+-}size{KMGTP}:
Last sector (2048-2097118, default = 2097118) or {+-}size{KMGTP}: +500M #分配500M大小

Command (? for help): p #打印查看
Number  Start (sector)    End (sector)  Size       Code  Name
   1            2048         1026047   500.0 MiB   8300  Linux filesystem

Command (? for help): w #保存分區
Do you want to proceed? (Y/N): y    #確認
OK; writing new GUID partition table (GPT) to /dev/sdb.
The operation has completed successfully.

#3.創建完成后,可以嘗試檢查磁盤是否為gpt格式
[root@localhost-node1 /]# fdisk /dev/sdb -l|grep type
Disk label type: gpt

#4.安裝parted, 刷新內核立即生效,無需重啟
[root@localhost ~]# yum -y install parted
[root@localhost ~]# partprobe /dev/sdb

2.使用mkfs進行格式化磁盤。

[root@localhost ~]# mkfs.xfs  /dev/sdb

3.使用mount命令將某個目錄掛載該分區,進行使用。

[root@localhost ~]# mkdir /data_gdisk
[root@localhost ~]# mount /dev/sdb /data_gdisk

磁盤掛載

前面我們已經提到過,如果需要使用磁盤的空間,需要准備一個空的目錄作為掛載點,與該設備進行關聯。mount主要是為文件系統指定一個訪問入口。

1.通過mount進行掛載,但重啟將會失效。我們稱為臨時生效。

# 選項:-t指定文件系統掛載分區 -a 掛載/etc/fstab中的配置文件 -o 指定掛載參數
# 掛載/dev/sdb1至db1目錄
 [root@localhost ~]# mkdir /db1
 [root@localhost ~]# mount -t xfs /dev/sdb1  /db1/ 

ps:centos7選擇xfs格式作為默認文件系統,而且不再使用以前的ext,仍然支持ext4,
xfs專為大數據產生,每個單個文件系統最大可以支持8eb,單個文件可以支持16tb,不僅數據量大,
而且擴展性高。還可以通過xfsdump,xfsrestore來備份和恢復。

2.掛載的磁盤,如果不想使用可以使用umount進行卸載。

#選項: -l 強制卸載

#1.卸載目錄方式
 [root@localhost ~]# umount /db1

#2.卸載設備方式
 [root@localhost ~]# umount /dev/sdb1

#3.umount不能卸載的情況
 [root@localhost db1]# umount /db1  
  umount: /db1: device is busy.
          (In some cases useful info about processes that use
          the device is found by lsof(8) or fuser(1)

#PS: 如上情況解決辦法有兩種, 1.切換至其他目錄 2.使用'-l'選項強制卸載    
 [root@student db1]# umount -l /db1

3.如果需要實現永久掛載則需要將掛載信息寫入/etc/fstab配置文件中實現。

#1.使用blkid命令獲取各設備的UUID
 [root@localhost ~]# blkid |grep "sdb1"
  /dev/sdb1: UUID="e271b5b2-b1ba-4b18-bde5-66e394fb02d9" TYPE="xfs"

#2.使用UUID掛載磁盤sdb1分區至於db1, 測試掛載
 [root@localhost ~]# mount UUID="e271b5b2-b1ba-4b18-bde5-66e394fb02d9" /db1

#3.寫入/etc/fstab中,實現開機自動掛載
 [root@localhost ~]# tail -1 /etc/fstab    
  UUID=e271b5b2-b1ba-4b18-bde5-66e394fb02d9 /db1 xfs  defaults 0  0

#4.加載fstab配置文件, 同時檢測語法是否有錯誤
 [root@localhost ~]# mount –a

4./etc/fstab配置文件編寫格式

要掛載的設備 掛載點(入口) 文件系統類型 掛載參數 是否備份 是否檢查
/dev/sdb1 /db1 xfs defaults 0 0

第四列:掛載參數

參數 含義
async/sync 是否為同步方式運行。默認async
user/nouser 是否允許普通用戶使用mount命令掛載。默認nouser
exec/noexe 是否允許可執行文件執行。默認exec
suid/nosuid 是否允許存在suid屬性的文件。默認suid
auto/noauto 執行mount -a 命令時,此文件系統是否被主動掛載。默認auto
rw/ro 是否以只讀或者讀寫模式進行掛載。默認rw
default 具有rw,suid,dev,exec,auto,nouser,async等默認參數的設定

第五列:是否進行備份。參數的值為0或者1

選項 含義
0 代表不做備份
1 代表要每天進行備份操作
2 代表不定日期的進行備份操作

第六列:是否檢驗扇區:開機的過程中,系統默認會以fsck檢驗我們系統是否為完整

選項 含義
0 不要檢驗磁盤是否有壞道
1 檢驗
2 校驗 (當1級別檢驗完成之后進行2級別檢驗)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM