概念
我理解掛載就是將磁盤和目錄關聯起來,當然也可以目錄和目錄關聯
使用
通過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也可以來獲取當前掛載信息