磁盘挂载(mounting)是指在操作系统中将一个存储设备(如硬盘、SSD、光盘、U盘等)连接到文件系统,使其可以被系统和用户访问和使用。挂载后,存储设备上的文件和目录将会出现在指定的挂载点(通常是一个空的目录)下,用户可以通过这个挂载点来访问和操作这些文件和目录。
[root@localhost yum.repos.d]# mount
proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)
sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime,seclabel)
devtmpfs on /dev type devtmpfs (rw,nosuid,seclabel,size=4096k,nr_inodes=1048576,mode=755)
securityfs on /sys/kernel/security type securityfs (rw,nosuid,nodev,noexec,relatime)
tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev,seclabel)
devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,seclabel,gid=5,mode=620,ptmxmode=000)
tmpfs on /run type tmpfs (rw,nosuid,nodev,seclabel,size=299212k,nr_inodes=819200,mode=755)
tmpfs on /sys/fs/cgroup type tmpfs (ro,nosuid,nodev,noexec,seclabel,size=4096k,nr_inodes=1024,mode=755)
cgroup on /sys/fs/cgroup/systemd type cgroup (rw,nosuid,nodev,noexec,relatime,seclabel,xattr,release_agent=/usr/lib/systemd/systemd-cgroups-agent,name=systemd)
none on /sys/fs/bpf type bpf (rw,nosuid,nodev,noexec,relatime,mode=700)
cgroup on /sys/fs/cgroup/rdma type cgroup (rw,nosuid,nodev,noexec,relatime,seclabel,rdma)
cgroup on /sys/fs/cgroup/net_cls,net_prio type cgroup (rw,nosuid,nodev,noexec,relatime,seclabel,net_cls,net_prio)
cgroup on /sys/fs/cgroup/cpuset type cgroup (rw,nosuid,nodev,noexec,relatime,seclabel,cpuset)
cgroup on /sys/fs/cgroup/freezer type cgroup (rw,nosuid,nodev,noexec,relatime,seclabel,freezer)
cgroup on /sys/fs/cgroup/pids type cgroup (rw,nosuid,nodev,noexec,relatime,seclabel,pids)
cgroup on /sys/fs/cgroup/hugetlb type cgroup (rw,nosuid,nodev,noexec,relatime,seclabel,hugetlb)
cgroup on /sys/fs/cgroup/cpu,cpuacct type cgroup (rw,nosuid,nodev,noexec,relatime,seclabel,cpu,cpuacct)
cgroup on /sys/fs/cgroup/perf_event type cgroup (rw,nosuid,nodev,noexec,relatime,seclabel,perf_event)
cgroup on /sys/fs/cgroup/memory type cgroup (rw,nosuid,nodev,noexec,relatime,seclabel,memory)
cgroup on /sys/fs/cgroup/blkio type cgroup (rw,nosuid,nodev,noexec,relatime,seclabel,blkio)
cgroup on /sys/fs/cgroup/devices type cgroup (rw,nosuid,nodev,noexec,relatime,seclabel,devices)
/dev/mapper/openeuler-root on / type ext4 (rw,relatime,seclabel)
selinuxfs on /sys/fs/selinux type selinuxfs (rw,nosuid,noexec,relatime)
systemd-1 on /proc/sys/fs/binfmt_misc type autofs (rw,relatime,fd=35,pgrp=1,timeout=0,minproto=5,maxproto=5,direct,pipe_ino=14884)
hugetlbfs on /dev/hugepages type hugetlbfs (rw,relatime,seclabel,pagesize=2M)
mqueue on /dev/mqueue type mqueue (rw,nosuid,nodev,noexec,relatime,seclabel)
debugfs on /sys/kernel/debug type debugfs (rw,nosuid,nodev,noexec,relatime,seclabel)
tracefs on /sys/kernel/tracing type tracefs (rw,nosuid,nodev,noexec,relatime,seclabel)
fusectl on /sys/fs/fuse/connections type fusectl (rw,nosuid,nodev,noexec,relatime)
configfs on /sys/kernel/config type configfs (rw,nosuid,nodev,noexec,relatime)
tmpfs on /tmp type tmpfs (rw,nosuid,nodev,seclabel,size=748028k,nr_inodes=1048576)
/dev/vda1 on /boot type ext4 (rw,relatime,seclabel)
/dev/sda1
、/dev/sda2
、/dev/sdb1
等,表示挂载的设备或分区。/
、/home
、/mnt/mydisk
等,表示设备挂载到的目录。ext4
、iso9660
、squashfs
等,表示设备使用的文件系统类型。rw
、relatime
、ro
、nosuid
等,表示挂载时使用的选项。[root@localhost boot]# fdisk -l
Disk /dev/vda:40 GiB,42949672960 字节,83886080 个扇区
单元:扇区 / 1 * 512 = 512 字节
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x849d8593
设备 启动 起点 末尾 扇区 大小 Id 类型
/dev/vda1 * 2048 2099199 2097152 1G 83 Linux
/dev/vda2 2099200 83886079 81786880 39G 8e Linux LVM
Disk /dev/mapper/openeuler-root:36.94 GiB,39665532928 字节,77471744 个扇区
单元:扇区 / 1 * 512 = 512 字节
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
Disk /dev/mapper/openeuler-swap:2.05 GiB,2206203904 字节,4308992 个扇区
单元:扇区 / 1 * 512 = 512 字节
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
[root@localhost boot]# df -h
文件系统 容量 已用 可用 已用% 挂载点
devtmpfs 4.0M 0 4.0M 0% /dev
tmpfs 731M 0 731M 0% /dev/shm
tmpfs 293M 30M 263M 11% /run
tmpfs 4.0M 0 4.0M 0% /sys/fs/cgroup
/dev/mapper/openeuler-root 37G 1.8G 33G 6% /
tmpfs 731M 0 731M 0% /tmp
/dev/vda1 974M 151M 756M 17% /boot
硬盘分区是使用分割编辑器(partition editor)在磁盘上划分几个逻辑部分,碟片一旦划分成数个分割(Partition),不同类的目录与文件可以存储进不同的分割。
磁盘分区主要有 MBR 和 GPT 两种格式,两种不同的磁盘分区表标准
lsblk
列出系统上所有磁盘列表[root@localhost boot]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
sr0 11:0 1 223.5M 0 rom
vda 252:0 0 40G 0 disk
├─vda1 252:1 0 1G 0 part /boot
└─vda2 252:2 0 39G 0 part
├─openeuler-root 253:0 0 36.9G 0 lvm /
└─openeuler-swap 253:1 0 2.1G 0 lvm [SWAP]
从输出信息来看,主要分为两个sr0,vda装置,vda中分为两个分区vda1,vda2,vda2中还有 LVM 产生的文件系统
主要:次要
装置/dev/vd{a-z}{number}
/dev/
设备名称vd
设备类型( hd/sd
){a-z}
设备序号{number}
分区编号使用 parted /dev/vda print
列出磁盘的分区表类型与分区信息
[root@localhost boot]# parted /dev/vda print
型号:Virtio 块设备 (virtblk)
磁盘 /dev/vda:42.9GB
扇区大小 (逻辑/物理):512B/512B
分区表:msdos
磁盘标志:
编号 起始点 结束点 大小 类型 文件系统 标志
1 1049kB 1075MB 1074MB primary ext4 启动
2 1075MB 42.9GB 41.9GB primary lvm
我们看到分区表类型 msdos
是指MBR分区表 — 使用 fdisk
分区工具,执行以下操作对某个磁盘进行操作
fdisk /dev/vda
gdisk
工具parted /dev/vda
进入交互模式
静态存储了磁盘存储挂载信息,在系统启动时,会自动调取该文件进行磁盘挂载,这样就不需要手动进行挂载
#
/dev/sda1 /boot ext4 defaults 1 2
/dev/mapper/root / ext4 defaults 0 1
UUID=12345678-9ab /home ext4 defaults 0 2
:文件系统的设备路径或UUID
:文件系统要挂载到的路径
:文件系统类型
:挂载选项,例如defaults
、noauto
、ro
、rw
等
:用于备份工具的备份级别,默认为0
:用于fsck
工具的文件系统检查顺序,默认为0(不检查)LVM 是 Linux 系统对磁盘分区的一种管理机制,是在磁盘分区之上建立一个逻辑层,这个逻辑层让多个硬盘或者分区看起来像一块逻辑硬盘,然后将这块逻辑硬盘分成逻辑卷之后使用,从而大大提高了分区的灵活性。
pvcreate [option] devname
pvcreate --help
查看pvdisplay [option] devname
,我们可以看到信息包括如下--- Physical volume ---
PV Name /dev/vda2
VG Name openeuler
PV Size <39.00 GiB / not usable 3.00 MiB
Allocatable yes (but full)
PE Size 4.00 MiB
Total PE 9983
Free PE 0
Allocated PE 9983
PV UUID yoL1lh-t5IG-VVPT-13dO-LxVD-LXvk-NnkUfE
pvchange [option] devname
pvchange --help
查看pvremove [option] devname
vgcreate [option] vgname pvname ...
vgdisplay [option] [vgname]
vgchange [option] vgname
vgextend [option] vgname pvname ...
vgreduce [option] vgname pvname ...
vgremove [option] vgname
lvcreate [option] -n lvname vgname
lvdisplay [option] [lvname]
lvresize [option] lvname
lvextend [option] lvname
lvreduce [option] lvname
lvremove [option] lvname
参考文章: