Linux磁盘分区挂载

本文详细介绍了如何在Linux系统中进行磁盘分区,包括创建主分区、格式化为ext4文件系统、通过UUID挂载、添加ACL支持、挂载ISO镜像文件以及设置开机自动挂载。同时,还展示了如何使用autofs实现触发挂载服务。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

6.挂载设备
问题
1)在/dev/sdb磁盘中添加主分区/dev/sdb2
2)将分区/dev/sdb2格式化为ext4文件系统
3)通过UUID方式将此分区挂载到/mnt/disk2part2
4)利用remount选项,为文件系统/dev/sdb2添加ACL支持,并验证结果
5)上传镜像文件linux.iso,将其挂载到 /myiso
6)卸载/dev/sdb2设备与linux.iso
方案
关于挂载参数有很多,我们只需知道比较常用的几个即可:
ro/rw:只读/可读可写
acl/noacl:启用/禁用ACL
exec/noexec:打开/关闭执行权
suid/nosuid:启用/禁用SUID和SGID
remount:重新挂载
如果说挂载时没有添加任何参数,那就是默认参数defaults,相当于以下参数的组合:rw, suid, dev, exec, auto, nouser, async。
可以看到默认参数中没有acl参数。
步骤
实现此案例需要按照如下步骤进行。
步骤一:在/dev/sdb磁盘中添加主分区/dev/sdb2
命令操作如下所示:
[root@localhost ~]# parted /dev/sdb print //查看分区表信息
Model: VMware, VMware Virtual S (scsi)
Disk /dev/sdb: 85.9GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos

Number Start End Size Type File system 标志
1 512B 1000MB 1000MB primary ext4

[root@localhost ~]# parted /dev/sdb mkpart primary ext4 1G 2G //建立第二个主分区
信息: You may need to update /etc/fstab.

[root@localhost ~]# parted /dev/sdb print
Model: VMware, VMware Virtual S (scsi)
Disk /dev/sdb: 85.9GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos

Number Start End Size Type File system 标志
1 512B 1000MB 1000MB primary ext4
2 1000MB 2000MB 999MB primary
步骤二:将分区/dev/sdb2格式化为ext4文件系统
命令操作如下所示:
[root@localhost ~]# mkfs.ext4 /dev/sdb2
… …
步骤三:通过UUID方式将此分区挂载到/mnt/disk2part2
分析: 挂载时一定确保设备、挂载点存在,且分区已格式化完成。
命令操作如下所示:
[root@localhost ~]# mkdir /mnt/disk2part2 //创建挂载点
[root@localhost ~]# blkid /dev/sdb2 //查看UUID
/dev/sdb2: UUID=“567e5a10-9b3d-4687-af1c-8cccb961c42b” TYPE=“ext4”
[root@localhost ~]# mount -U 567e5a10-9b3d-4687-af1c-8cccb961c42b /mnt/disk2part2/
//-U 选项是以UUID挂载,注意UUID要复制粘贴不要手敲
[root@localhost ~]# mount | grep sdb2 //查看挂载结果
/dev/sdb2 on /mnt/disk2part2 type ext4 (rw)
[root@localhost ~]#
步骤四:利用remount选项,为文件系统/dev/sdb2添加ACL支持,并验证结果
命令操作如下所示:
[root@localhost ~]# mount | grep sdb2 //查看挂载情况
/dev/sdb2 on /mnt/disk2part2 type ext4 (rw) //可以看到括号里,参数是rw
[root@localhost ~]# mkdir /mnt/disk2part2/nsddir //创建测试目录
[root@localhost ~]# setfacl -m u:root:rwx /mnt/disk2part2/nsddir/ //测试设置ACL
setfacl: /mnt/disk2part2/nsddir/: 不支持的操作
[root@localhost ~]# mount -o remount,acl /dev/sdb2 /mnt/disk2part2/ //添加acl参数
[root@localhost ~]# mount | grep sdb2 //查看挂载情况
/dev/sdb2 on /mnt/disk2part2 type ext4 (rw,acl) //可以看到括号里,参数是rw,acl
[root@localhost ~]# setfacl -m u:root:rwx /mnt/disk2part2/nsddir/ //测试设置ACL
[root@localhost ~]# getfacl /mnt/disk2part2/nsddir/
getfacl: Removing leading ‘/’ from absolute path names

file: mnt/disk2part2/nsddir/

owner: root

group: root

user::rwx
user:root:rwx
group::r-x
mask::rwx
other::r-x
步骤五:上传镜像文件linux.iso,将其挂载到 /myiso
分析: 首先将linux.iso上传到Linux系统里,此镜像文件在真机系统中的路径为:
C:\Program Files (x86)\VMware\VMware Workstation\linux.iso
上传方式可以利用安装VMware tools工具拖拽。
命令操作如下所示:
[root@localhost 桌面]# pwd
/root/桌面
[root@localhost 桌面]# ls
linux.iso
[root@localhost 桌面]# mkdir /myiso //创建挂载点
[root@localhost 桌面]# mount /root/桌面/linux.iso /myiso //尝试挂载,提示加参数
mount: /root/桌面/linux.iso is not a block device (maybe try `-o loop’?)
[root@localhost 桌面]# mount -o loop /root/桌面/linux.iso /myiso //添加参数挂载
[root@localhost 桌面]# mount | grep myiso //查看挂载情况
/root/桌面/linux.iso on /myiso type iso9660 (rw,loop=/dev/loop0)
[root@localhost 桌面]#
步骤六:卸载/dev/sdb2设备与linux.iso
分析: 卸载时命令是umount,可以以设备方式卸载,也可以以挂载点方式卸载。
推荐大家以挂载点方式卸载。
命令操作如下所示:
[root@localhost 桌面]# mount | grep sdb2 //查看挂载情况
/dev/sdb2 on /mnt/disk2part2 type ext4 (rw,acl)
[root@localhost 桌面]# umount /mnt/disk2part2/ //以挂载点卸载sdb2
[root@localhost 桌面]# mount | grep sdb2 //查看卸载结果
[root@localhost 桌面]# mount | grep myiso //查看挂载情况
/root/桌面/linux.iso on /myiso type iso9660 (rw,loop=/dev/loop0)
[root@localhost 桌面]# umount /myiso/ //以挂载点卸载linux.iso
[root@localhost 桌面]# mount | grep myiso //查看卸载结果
[root@localhost 桌面]#
7.开机自动挂载
问题
实现开机自动将/dev/sda8扩展到Swap空间
1)实现开机自动将/dev/sdb1挂载/mnt/disk2part1,利用UUID表示设备,并支持ACL权限
2)从/dev/sdb设备中,将所有剩余空间化为一个扩展分区,然后划分出一个逻辑分区/dev/sdb5
方案
在Linux中实现开机自动挂载,是利用/etc/fstab配置文件来实现的。
对于该配置文件的每个字段值,都要知道各自的含义,分别为:设备文件、挂载点、文件系统类型、挂载参数、备份标记、检测顺序。
如果有些字段的用法忘记了,在/etc/fstab文件内会有一些默认的配置提供参考。
步骤
实现此案例需要按照如下步骤进行。
步骤一:实现开机自动将/dev/sda8扩展到swap空间
分析: 开机自动挂载swap分区时,要注意挂载点为swap类型也为swap。
书写完成后可以利用mount –a检查没有报错即书写正确
命令操作如下所示:
[root@localhost 桌面]# ls /dev/sda8 //查看是否有sda8设备
/dev/sda8
[root@localhost 桌面]# blkid /dev/sda8 //查看分区是否是swap文件系统类型
/dev/sda8: UUID=“848ca15c-a03e-4e0b-9ac0-bfd6507d0b7e” TYPE=“swap”
[root@localhost /]# vim /etc/fstab //编辑开机自动挂载配置文件
[root@localhost /]# tail -n 1 /etc/fstab
/dev/sda8 swap swap defaults 0 0
[root@localhost /]# mount –a //检查书写是否正确,swap一般需重启才能生效
[root@localhost /]#
步骤二:实现开机自动将/dev/sdb1挂载/mnt/disk2part1,利用UUID表示设备,并支持ACL权限
分析: 首先UUID值可利用blkid命令来查看,需注意的是UUID复制粘贴不要手敲,要去掉双引号。支持ACL只需在参数字段值处加上该参数即可以逗号隔开。
命令操作如下所示:
[root@localhost /]# mkdir /mnt/disk2part1 //创建挂载点
[root@localhost /]# blkid /dev/sdb1 //查看UUID值为多少
/dev/sdb1: UUID=“9e18c916-817b-4bdd-9aee-c5c309f8c121” TYPE=“ext4”
[root@localhost /]# vim /etc/fstab //编辑开机自动挂载配置文件
[root@localhost /]# tail -n 1 /etc/fstab
UUID=9e18c916-817b-4bdd-9aee-c5c309f8c121 /mnt/disk2part1 ext4 defaults,acl 0 0
[root@localhost /]# mount | grep sdb1 //查看挂载情况
[root@localhost /]# mount –a //自动挂载
[root@localhost /]# mount | grep sdb1 //查看挂载结果
/dev/sdb1 on /mnt/disk2part1 type ext4 (rw,acl)
[root@localhost /]#
步骤三:从/dev/sdb设备中,将所有剩余空间化为一个扩展分区,然后划分出一个逻辑分区/dev/sdb5
分析: 在parted命令中想使用全部空间可以使用100%。
命令操作如下所示:
[root@localhost /]# parted /dev/sdb mkpart extended 2G 100% //使用所有剩余空间
警告: WARNING: the kernel failed to re-read the partition table on /dev/sdb (设备或资源忙). As a
result, it may not reflect all of your changes until after reboot.
[root@localhost /]# parted /dev/sdb print
Model: VMware, VMware Virtual S (scsi)
Disk /dev/sdb: 85.9GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos

Number Start End Size Type File system 标志
1 512B 1000MB 1000MB primary ext4
2 1000MB 2000MB 999MB primary ext4
3 2000MB 85.9GB 83.9GB extended lba

[root@localhost /]# parted /dev/sdb mkpart logical ext4 2G 3G //划分逻辑分区
警告: WARNING: the kernel failed to re-read the partition table on /dev/sdb (设备或资源忙). As a
result, it may not reflect all of your changes until after reboot.
[root@localhost /]# parted /dev/sdb print
Model: VMware, VMware Virtual S (scsi)
Disk /dev/sdb: 85.9GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos

Number Start End Size Type File system 标志
1 512B 1000MB 1000MB primary ext4
2 1000MB 2000MB 999MB primary ext4
3 2000MB 85.9GB 83.9GB extended lba
5 2001MB 3000MB 999MB logical
8.autofs触发挂载
问题
1)格式化/dev/sdb5为ext4文件系统
2)配置一个触发挂载服务:
3)监控目录为/misc
4)触发目录为tools
5)挂载设备为/dev/sdb5
方案
autofs触发挂载是一个服务,要想使用这个服务,要确保系统安装了此服务和开启此服务。autofs之所以可以达到触发挂载,原因是它具有两个配置文件:
主配置文件 /etc/auto.master,记录“监控点目录、挂载配置文件的路径”
挂载配置文件,比如 /etc/auto.misc,记录“挂载点子目录 -挂载参数 :设备名”
更改配置文件后需重启autofs服务生效。
步骤
实现此案例需要按照如下步骤进行。
步骤一:格式化/dev/sdb5为ext4文件系统
命令操作如下所示:
[root@localhost /]# ls /dev/sdb5 //查看是否识别该分区
ls: 无法访问/dev/sdb5: 没有那个文件或目录
[root@localhost /]# partx -a /dev/sdb //刷新分区表
BLKPG: Device or resource busy
error adding partition 1
BLKPG: Device or resource busy
error adding partition 2
[root@localhost /]# ls /dev/sdb5 //查看刷新结果
/dev/sdb5
[root@localhost /]# mkfs.ext4 /dev/sdb5 //格式化sdb5分区
步骤二:配置一个触发挂载服务:
在/etc/auto.misc主配置文件中,定义挂载设备为/dev/sdb5
命令操作如下所示:
[root@localhost /]# vim /etc/auto.master
[root@localhost /]# grep /misc /etc/auto.master
/misc /etc/auto.misc //此句话原本已存在无需更改

Note that if there are entries for /net or /misc (as

[root@localhost /]#
在/etc/auto.master挂载配置文件中,定义挂载设备、参数、挂载点。挂载设备为/dev/sdb5
命令操作如下所示:
[root@localhost /]# vim /etc/auto.misc
[root@localhost /]# grep tools /etc/auto.misc
tools -fstype=ext4 :/dev/sdb5
[root@localhost /]# service autofs restart //重启autofs服务
停止 automount:[确定]
正在启动 automount:[确定]
[root@localhost /]# ls /misc/
[root@localhost /]# ls /misc/tools //访问触发挂载点
lost+found
[root@localhost /]# mount | grep tools //查看结果
/dev/sdb5 on /misc/tools type ext4 (rw)
[root@localhost /]#

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值