linux centos7 文件掛載學習記錄


概念

我理解掛載就是將磁盤和目錄關聯起來,當然也可以目錄和目錄關聯

使用

通過fdisk可以查看磁盤分區情況

fsdisk -l  

查詢結果

[root@lazy ~]# fdisk -l

Disk /dev/sda: 500.1 GB, 500107862016 bytes, 976773168 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: 0xdced7faf

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048   100677631    50337792    7  HPFS/NTFS/exFAT
/dev/sda2       100677632   101701631      512000   83  Linux
/dev/sda3       101701632   654843903   276571136   8e  Linux LVM

Disk /dev/mapper/centos-root: 53.7 GB, 53687091200 bytes, 104857600 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 /dev/mapper/centos-swap: 4026 MB, 4026531840 bytes, 7864320 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 /dev/mapper/centos-home: 214.7 GB, 214748364800 bytes, 419430400 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 /dev/mapper/centos-var: 10.7 GB, 10737418240 bytes, 20971520 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

可以看出我的機器上有一塊硬盤/dev/sda ,500G大小,被分成了三個區,其中sda3被創建為LVM 物理卷,有4個邏輯卷。三一個區大小總和不到500G,說明還有可被分配的空間,使用fdisk進行分區

[root@lazy home]# fdisk /dev/sda
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.


Command (m for help): n
Partition type:
p primary (3 primary, 0 extended, 1 free)
e extended
Select (default e): p
Selected partition 4
First sector (654843904-976773167, default 654843904):
Using default value 654843904
Last sector, +sectors or +size{K,M,G} (654843904-976773167, default 976773167):
Using default value 976773167
Partition 4 of type Linux and of size 153.5 GiB is set

Command (m for help): p

Disk /dev/sda: 500.1 GB, 500107862016 bytes, 976773168 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: 0xdced7faf

Device Boot Start End Blocks Id System
/dev/sda1 * 2048 100677631 50337792 7 HPFS/NTFS/exFAT
/dev/sda2 100677632 101701631 512000 83 Linux
/dev/sda3 101701632 654843903 276571136 8e Linux LVM
/dev/sda4 654843904 976773167 160964632 83 Linux

 命令說明:

  n                         # 新建分區
    -e                      # 創建擴展分區)
    -p                      # 創建主分區)
    -t                       # 改變分區類型)
  p                         # 查看分區
  w                         # 將信息寫入磁盤

使用df 命令查看磁盤掛載情況

[root@lazy home]# df -h
Filesystem               Size  Used Avail Use% Mounted on
/dev/mapper/centos-root   50G  1.7G   49G   4% /
devtmpfs                 847M     0  847M   0% /dev
tmpfs                    859M     0  859M   0% /dev/shm
tmpfs                    859M   33M  826M   4% /run
tmpfs                    859M     0  859M   0% /sys/fs/cgroup
/dev/mapper/centos-home  200G   16G  184G   8% /home
/dev/mapper/centos-var    10G  8.1G  2.0G  81% /var
/dev/sda2                497M  130M  367M  27% /boot
tmpfs                    172M     0  172M   0% /run/user/0

創建目錄/mnt/haha,將剛剛創建的分區sda4 掛載到該目錄

[root@lazy /]# mkdir /mnt/haha
[root@lazy /]# mount /dev/sda4 /mnt/haha

發現報錯mount: special device /dev/sda4 does not exist,找不到分區,查看/pro/partitions

[root@lazy /]# cat /proc/partitions
major minor  #blocks  name

  11        0    1048575 sr0
   8        0  488386584 sda
   8        1   50337792 sda1
   8        2     512000 sda2
   8        3  276571136 sda3
 253        0   52428800 dm-0
 253        1    3932160 dm-1
 253        2  209715200 dm-2
 253        3   10485760 dm-3

確實沒有分區sda4,這時需要讓內核重讀磁盤分區表,可以通過partx工具讓內核重讀磁盤分區表

partx -d /dev/sda  //所有信息清零
partx -a /dev/sda  //添加分區信息
partx -s /dev/sda  //顯示分區信息 

再進行掛載,報錯

mount: unknown filesystem type '(null)'

格式化分區

mkfs -t ext2 /dev/sda4

 掛載不再報錯,df -h 查看

[root@lazy haha]# df -h
Filesystem               Size  Used Avail Use% Mounted on
/dev/mapper/centos-root   50G  1.7G   49G   4% /
devtmpfs                 847M     0  847M   0% /dev
tmpfs                    859M     0  859M   0% /dev/shm
tmpfs                    859M   33M  826M   4% /run
tmpfs                    859M     0  859M   0% /sys/fs/cgroup
/dev/mapper/centos-home  200G   16G  184G   8% /home
/dev/mapper/centos-var    10G  8.1G  2.0G  81% /var
/dev/sda2                497M  130M  367M  27% /boot
tmpfs                    172M     0  172M   0% /run/user/0
/dev/sda4                152G   60M  144G   1% /mnt/haha
[root@lazy haha]#

可以利用umount取消掛載

[root@lazy haha]# umount /mnt/haha
[root@lazy haha]# df -h
Filesystem               Size  Used Avail Use% Mounted on
/dev/mapper/centos-root   50G  1.7G   49G   4% /
devtmpfs                 847M     0  847M   0% /dev
tmpfs                    859M     0  859M   0% /dev/shm
tmpfs                    859M   33M  826M   4% /run
tmpfs                    859M     0  859M   0% /sys/fs/cgroup
/dev/mapper/centos-home  200G   16G  184G   8% /home
/dev/mapper/centos-var    10G  8.1G  2.0G  81% /var
/dev/sda2                497M  130M  367M  27% /boot
tmpfs                    172M     0  172M   0% /run/user/0
[root@lazy haha]#

/etc/fstab和/etc/mtab

 /etc/fstab 記錄了計算機上硬盤分區的相關信息,啟動 Linux 的時候,檢查分區的 fsck 命令,和掛載分區的 mount 命令,都需要 fstab 中的信息,來正確的檢查和掛載硬盤。 所以可以在這個文件中加入掛載盤的信息,實現啟動時掛載;

[root@lazy haha]# cat /etc/fstab

#
# /etc/fstab
# Created by anaconda on Sun Mar  6 22:36:43 2016
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
/dev/mapper/centos-root /                       xfs     defaults        0 0
UUID=846e966f-11ed-4b3f-b7d4-ddfff975cb6a /boot                   xfs     defaults        0 0
/dev/mapper/centos-home /home                   xfs     defaults        0 0
/dev/mapper/centos-var  /var                    xfs     defaults        0 0
/dev/mapper/centos-swap swap                    swap    defaults        0 0
[root@lazy haha]#

用第一行來說明各列代表的含義,

  • /dev/mapper/centeros-home 可以是設備名稱、LABEL UUID 偽文件系統名稱
  • /                                             掛載點,即指定的文件目錄
  • xfs                                         文件系統類型
  • defaults                                 掛載選項
  • 0                                            存儲頻率  0 不做備份,1 每天轉儲,2  每隔一天轉儲
  • 0                                            自檢次序  0 不自檢,1 首先自檢,一般只有rootfs 才用到

/etc/mtab 記載的是現在系統已經裝載的文件系統,包括操作系統建立的虛擬文件等;而/etc/fstab是系統准備裝載的。 每當 mount 掛載分區、umount 卸載分區,都會動態更新 mtab,mtab 總是保持着當前系統中已掛載的分區信息,fdisk、df 這類程序,必須要讀取 mtab 文件,才能獲得當前系統中的分區掛載情況。當然我們自己還可以通過讀取/proc/mount也可以來獲取當前掛載信息 

 


免責聲明!

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



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