mount 挂载,/etc/fstab 配置文件
一、管理分区
列出块设备 lsblk
创建分区使用的命令:
(1) fdisk 创建 MBR 分区(7 里也可以创建 GPT 分区,但不推荐,contos 6 -l 时候 gpt 多个分区只显示 1 个)
① fdisk -l /dev/sdX 查看硬盘分区信息
② fdisk /dev/sdX 进行分区(交互式),建立分区时
注:因为 fdisk 是交互式创建分区,所以写入脚本时需要:
(2) gdisk 创建 GPT 分区(用法和 fdisk 相似)
n 创建分区时,直接从 2-128 进行分区,不分主分区,扩展分区
(3) parted 高级分区操作(创建、复制、调整大小等等)实时性,小心使用,不用再 w 已经保存,可以直接非交互式创建分区,aix, amiga, bsd, dvh, gpt, mac, msdos, pc98, sun, loop 都能创建。(不常用)
(4)重置内存中分区信息(当系统正在使用的分区修改时,内存不会改变)
二、文件系统
(1)查看支持的文件系统:/lib/modules/uname –r
/kernel/fs
(2)文件系统类型
Linux 文件系统:ext2 (Extended file system), ext3,ext4, xfs (SGI ), btrfs (Oracle ), reiserfs, jfs(AIX), swap
(3)创建文件系统
(1)mkfs 命令
(2)mke2fs :创建文件系统,ext 系列文件系统专用管理工具,例:mke2fs -t ext4 -L test /dev/sdc1 给 /dev/sdc1 创建 ext4 卷标为 test 的文件系统
(3)tune2fs:修改文件系统信息,重新设定 ext 系列文件系统可调整参数的值 例:tune2fs -o acl /dev/sdb2 开启 /dev/sdb2 的 acl 功能
(4)查看信息
blkid:块设备属性信息查看(centos 7 里默认显示 sr0 6 里需 blkid /dev/sr0 显示光盘)
-U UUID: 根据指定的 UUID 来查找对应的设备
-L LABEL :根据指定的 LABEL
findfs:查找分区 (ext)
findfs [options] LABEL=
findfs [options] UUID=
dumpe2fs /dev/sda# 查看文件系统信息:superblock 信息及 block group 信息
-h :查看超级块,不显示 block group 而只显示 superblock 与 tune2fs -l 一致
小知识:超级块就是文件系统的内置,指定文件系统类型
block group 0 里有 super block ,后奇数组都有备份,能用于修复
(5)文件系统检测和修复
常发生于死机或者非正常关机之后,挂载为文件系统有几率标记为 “no clean” ”
注意:一定不要在挂载状态下修复(centos6,7 都禁止挂载下修复,5 里可以修复)
fsck (都可用) /e2fsck(ext)先卸载再修复(6 里默认交互式修复,7 非交互)
-y 自动回答 yes
-t filetype 指定文件系统类型
-f 强制修复(当破坏太小时,强制扫描一遍修复)
三、mount 挂载,/etc/fstab 配置文件
1、什么是挂载,卸载
任何块设备都不能直接访问,需挂载在目录上访问
挂载:将额外文件系统与根文件系统某现存的目录建立起关联关系,进而使得此目录做为其它文件访问入口的行为(挂载的设备必须有文件系统)
卸载:为解除此关联关系的过程
2、mount:挂载常用命令选项(下面有具体的用法示例)
1、查看挂载情况
2、mount 语法
例: mount -B /var/ftp/pub/app/apache /app/apache 就是显示 /var/ftp/pub 目录的东西
例:mount -r /dev/sdb1 /app/sdb1 将 /dev/sdb1 只读挂载到 /app/sdb 上
3、umount 卸载
卸载时,若有正在进行的进程,不能卸载
查看正在访问指定文件系统的进程:
终止所有在正访问指定的文件系统的进程:
终止完所有进程就可以卸载: umount DEVICE
4、/etc/fstab 文件挂载配置文件
(1)/etc/fstab 每行定义一个要挂载的文件系统
mount -a 自动挂载 /etc/fstab 文件没有挂载的设备,不管已挂载过的设备
如果想刷新修改过已挂载的设备,mount -o remount /dev/sdX(或挂载点)
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 操作,进行修复
5、实验:迁移 /home 家目录
到此我们已经对磁盘管理了解的差不多了,我们可以做个小实验,迁移 /home ,从 / 下移到另一个磁盘,如 /dev/sda6
① init 1 进入单用户模式,防止自己在迁移时,其他用户进行操作,导致迁移后缺失东西。
② 分区 /dev/sda6 fdisk
③ 文件系统格式化 mkfs.ext4 /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 搬迁