1. 程式人生 > >linux centos7 文件掛載學習記錄

linux centos7 文件掛載學習記錄

沒有 app 找不到 highlight root logical proc fir page

概念

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

使用

通過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也可以來獲取當前掛載信息

linux centos7 文件掛載學習記錄