linux磁盘管理三部曲——(3)mount挂载,etcfstab配置⽂件当我们分完区,并做好⽂件系统格式化,就到了最后的挂载mount了,挂载完毕就可以使⽤磁盘设备了。
⼀、什么是挂载,卸载
任何块设备都不能直接访问,需挂载在⽬录上访问
挂载: 将额外⽂件系统与根⽂件系统某现存的⽬录建⽴起关联关系,进⽽使得此⽬录做为其它⽂件访问⼊⼝的⾏为(挂载的设备必须有⽂件系统)
卸载:为解除此关联关系的过程
mount [-选项] DEVICE(设备) MOUNT_POINT(挂载点)
(1)device :指明要挂载的设备
①设备⽂件:例如/dev/sda5
②卷标:-L 'LABEL', 如例如 -L mage
③ UUID, -U 'UUID'
(2)挂载点下原有⽂件在挂载完成后会被临时隐藏
若事先存在:建议使⽤空⽬录,进程正在使⽤中的设备⽆法被卸载
(3)/etc/mtab:⽂件显⽰当前已挂载的所有设备(在centos 7中,是/proc/mounts的软连接,查看结果⼀样,centos 6中,ASCII text,查询结果
和/proc/mounts不⼀样)
⼆、mount:挂载常⽤命令选项(下⾯有具体的⽤法⽰例)
1、查看挂载情况
① findmnt 查看所有设备挂载情况(树状结构显⽰)
findmnt 设备查看单个设备的挂载情况
② mount :查看所有设备挂载情况
③ cat /proc/mounts:查看内核追踪到的已挂载的所有设备
2、mount 语法
mount -选项设备挂载点
-t:vsftype :指定要挂载的设备上的⽂件系统类型(不常⽤,不加-t默认⾃带⾃⼰的⽂件系统类型),有时,系统报错提⽰,没指定⽂件系统类型,-t指定后,仍然有错。(注释1)
-r:readonly ,只读挂载,不能进⾏其他操作,和权限⽆关,介质只能读,多⽤于冷备份。在mount 查询时时显⽰ ro
-w:read and write, 读写挂载(defaults默认)
-n:隐藏挂载信息不显⽰,但在/proc/mounts可以查到,卸载只能 umount /app/sdb2(挂载点)
-a:⾃动挂载/etc/fstab⽂件没有挂载的设备( 定义在了/etc/fstab⽂件中,且挂载选项中有auto 功能,默认中包括) ,不看已挂载过的设备,如果在/etc/fstab ⾥挂载过的设备修改了设置,不刷新;
如果想刷新修改过已挂载的设备,mount -o remount /dev/sdX(挂载点)
-L 'LABEL':以卷标指定挂载设备
-U 'UUID':以UUID 指定要挂载的设备
-B --bind:绑定⽬录到另⼀个⽬录上,
例: mount -B /var/ftp/pub /app/apache /app/apache就是显⽰ /var/ftp/pub⽬录的东西
-o options:( 挂载⽂件系统的选项) ,多个选项使⽤逗号分隔
async(defaults),sync 异步,同步,内存更改时,同时写磁盘(可以⽤于重要数据)
atime(defaults),noatime 是否在读访问时更新atime
diratime(defaults),nodiratime ⽬录的访问时间戳
auto(defaults)/noauto 写在/etc/fstab当中的分区,是否在mount -a时被挂载
exec(defatuls)/noexec 在该分区所挂载的⽬录中的脚本是否可以执⾏。
dev(defaults)/nodev:是否⽀持在此⽂件系统上使⽤设备⽂件
suid(defaults)/nosuid:是否⽀持suid和sgid权限
ro:只读 rw:读写(defaults)
nouser(defaults)/user:是否允许普通⽤户挂载此设备,默认管理员才能挂载
acl(centos 7)/^acl(centos 6以下):启⽤/禁⽤此⽂件系统上的acl功能
defaults 默认,见以上中的(defaults)
-o remount,选项:重新挂载,修改功能选项(和/etc/fstab选项冲突,则覆盖,不冲突就增加)例:mount -o remount,ro /dev/sdb1例:mount -r /dev/sdb1 /app/sdb1 将/dev/sdb1只读挂载到/app/sdb上
三、umount 卸载
卸载时,若有正在进⾏的进程,不能卸载
查看正在访问指定⽂件系统的进程:
lsof 设备或挂载点都可以
fuser -v 挂载点
终⽌所有在正访问指定的⽂件系统的进程:
fuser -km 设备或挂载点都可以
终⽌完所有进程就可以卸载: umount DEVICE
四、/etc/fstab ⽂件挂载配置⽂件
(1)/etc/fstab 每⾏定义⼀个要挂载的⽂件系统
mount -a ⾃动挂载/etc/fstab⽂件没有挂载的设备,不管已挂载过的设备
如果想刷新修改过已挂载的设备,mount -o remount /dev/sdX(或挂载点)linux怎么读取光盘文件
swpon -a ⾃动激活/etc/fstab⽂件没有激活的交换(扩展)空间,不管已激活的扩展空间
如果想刷新修改过已激活的扩展设备,mount -o remount /dev/sdX(或挂载点)
系统重启开机时读取此⽂件,可以开机⾃动开启⽂件中的设置
(2)格式(6列):
①要挂载的设备或伪⽂件系统:设备名称,LABEL,UUID,伪⽂件系统名称
②挂载点(扩展为swap)
③⽂件系统类型(auto 寻默认的),
普通设备挂载:ext#/xfs 等⽂件系统类型
交换分区 swap:swap
⽹络挂载地址 linux之间:nfs,windos挂载:cifs
光盘 iso9660,⽂件 cifs
④挂载选项:defaults 有需要的功能可以添加,不能为空
⑤转储频率: 0:不做备份 1:每天转储 2:每隔⼀天转储
⑥开机时⾃检(⾮0),⾃检次序:(如果开机系统⾃检不过,就⽆法正常开机)
0:不⾃检 1:最先⾃检,⼀般为/ 2...:数越⼩优先级最⼤
问题:如果设备不⼩⼼被破坏,开机⾃检不过,⽆法正常启⽤,该怎么办?
原理很简单,只需要修复⼀下⽂件系统就好了,(如果不能修复,可以去/etc/fstab中把⾃检改为0)具体操作如下:
①⼿动破坏设备 dd if=/dev/zero of=/dev/sdc1 bs=1 count=2048
②开机过程,遇到错误提⽰
③进⼊shell 操作,进⾏修复
五、实验:迁移/home 家⽬录
到此我们已经对磁盘管理了解的差不多了,我们可以做个⼩实验,迁移 /home ,从 / 下移到另⼀个磁盘,如/dev/sda6
① init 1 进⼊单⽤户模式,防⽌⾃⼰在迁移时,其他⽤户进⾏操作,导致迁移后缺失东西。
②分区 /dev/sda6 fdisk
③⽂件系统格式化 4 /dev/sda6
④挂载在临时⽬录上/mnt ,把/home 下东西cp -a 到/mnt ⽬录
⑤把现有/home 东西移⾛,卸载 /mnt ,把/dev/sda6 挂到 /home 下,并写⼊/etc/fstab,开机⾃动挂载。
UUID=328a3f17-3e4e-426d-9538-c44be3e6465b /home ext4 defaults 0 2
⑥ reboot或init 5 完成/home 搬迁
到这⾥关于磁盘管理的过程就全部讲完了。
希望对⼤家有帮助,有什么错误请告诉我~
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论