磁盘及文件系统挂载

硬盘添加后识别: 

echo '- - -' > /sys/class/scsi_host/host0/scan 识别硬盘
echo '- - -' > /sys/class/scsi_host/host1/scan
echo '- - -' > /sys/class/scsi_host/host2/scan

文件系统管理工具:
  创建文件系统工具:
    mkfs
      mkfs.ext2,mkfs.ext3,mkfs.ext4,mkfs.xfs,mkfs.vfat,...
  检测及修复文件系统工具
    fsck
      fsck.ext2,fsck.ext3,...
  查看其属性的工具
    dumpe2fs,tune2fs
  调整文件系统特性:
    tune2fs

blkid命令:查看文件系统属性
blkid device:查看设备UUID及文件系统类型;
blkid -L LABEL:根据卷标查找设备;
blkid -U UUID:根据UUID查找设备;

dumpe2fs命令:显示ext系列文件系统的属性信息
dumpe2fs [-h] device
例如:
]# dumpe2fs /dev/sdb5:同tune2fs -l,显示超级块信息,还能显示每个快组的信息;
]# dumpe2fs -h /dev/sdb5:同tune2fs -l /dev/sdb5,显示超级块信息;


  lsblk命令:查看块设备
  lsblk 查看的是block device,也就是逻辑磁盘大小。
  df查看的是file system, 也就是文件系统层的磁盘大小。

  df命令:report file system disk space usage,查看磁盘使用状态;
    df [OPTION]... [FILE]...
      -h:human-readable,单位换算,易于人读;
      -l:查看本地磁盘文件系统;
      -i:查看inode使用情况而非blocks;

  du命令:estimate file space usage,评估文件空间大小
    du [OPTION]... [FILE]...
      -s:汇总显示,即显示目录,包括目录下所有文件的大小之和;
      -h:单位换算;


  fdisk命令:
    1、查看磁盘分区表
      fdisk -l [DISK]
      不跟DISK查看当前所有磁盘信息,跟DISK查看指定磁盘信息;
    2、管理分区
      fdisk DISK
      交互式管理分区;
      交互式接口:管理机制是通过各子命令实现的,是在内存中修改,保存后才能生效;

      常用命令:

n:创建新分区;
d:删除已有分区;
t:修改分区类型;
l:查看所有已经分区ID;
w:保存并退出;
q:不保存退出;
m:查看帮助信息;
p:显示现有分区信息;

    注意:在已经分区并且挂载其中的某个分区的磁盘设备上创建新的分区时,保存退出后内核可能无法直接识别此新分区;

  blkid:块设备属性信息查看
    blkid [OPTION]... [DEVICE]
      -U UUID: 根据指定的UUID来查找对应的设备
      -L LABEL:根据指定的LABEL来查找对应的设备

  e2label:管理ext系列文件系统的LABEL
    e2label DEVICE [LABEL]

  同步磁盘分区
    查看:cat /proc/partitions
    通知内核强制重读分区表:
    CentOS 5,7:partprobe [device]
    CentOS 6,7:partx,kpartx
    partx -a [device]
    kpartx -af [device]

    partx -d --nr 6 /dev/sda 删除分区后的同步,数字6为被删除的sda6分区


  注意:一定不要在挂载状态下修复
  fsck: File System Check
    fsck.FS_TYPE
    fsck -t FS_TYPE
      -p: 自动修复错误
      -r: 交互式修复错误
    FS_TYPE一定要与分区上已经文件类型相同

  e2fsck:ext系列文件专用的检测修复工具
    -y:自动回答为yes
    -f:强制修复

  查看正在访问指定文件系统的进程
    lsof MOUNT_POINT
    fuser -v MOUNT_POINT

  终止所有在正访问指定的文件系统的进程
    fuser -km MOUNT_POINT

  /etc/mtab 此目录在有挂载动作时随时自动更新

  findmnt命令:
    判断路径是不是挂载点

  [root@CentOS7 ~]# mount -o remount,noexec /root/book 注意!! remount,noexec之间逗号两边不能有空格,否则无效


  mknod命令:
    创建设备文件
    mknod DEVNAME {b | c} MAJOR MINOR

  losetup命令:
    映射设备文件和块文件设备,可以指定设备文件的编号
    losetup /dev/loop8 /mnt/part

  loop设备:

使用dd命令创建一个文件,然后使用文件格式化命令进行格式化,再挂载即可使用
dd if=/dev/zero of=/root/part1 bs=1M count=1024 创建文件大小
mkfs.ext4 /root/part1 格式化文件格式
mount /root/part1 /app 挂载
vim /etc/fstab 修改配置文件,重启自动挂载

使用losetup命令可以给loop设备指定编号,首先使用mknod创建设备文件并编号,然后使用losetup映射loop文件和设备编号
mknod /dev/loop8 b 7 8
losetup /dev/loop8 /mnt/part2
至此part2挂载时使用的设备编号为/dev/loop8,而不是按顺序自动编号

修改loop文件最大数限制
vim /boot/grub/grub.conf
在kernel 这行的最后加上max_loop= 你需要的数字,重启后便有这么多个设备

注意!!仅对6有意义,7的系统会按需自动创建,重启机器会丢失,除非写进文件,并且6的系统在编写配置文件时需要注明loop
  /root/partfile /app xfs defaults,loop 0 0

文件夹的挂载需要在后面注明bind
  /root/bin/ /app xfs defaults,bind 0 0


设备的自动挂载
  修改/etc/fstab格式如下:支持卷标,UUID,设备名

/dev/mapper/centos_centos7-root                              /              xfs    defaults   0 0
UUID=0cb3d030-38b4-47bb-9bf8-71cd901a4c16     /boot       xfs    defaults    0 0
/dev/mapper/centos_centos7-home                           /home     xfs    defaults    0 0
/dev/mapper/centos_centos7-swap            swap      swap      defaults         0 0
/dev/sda7                    /app    xfs         defaults    0 0

  然后使用命令/mount -a,挂载生效
  注意!!!已经挂载的设备,修改属性后再使用mount -a不生效,需要使用remount重新启用

  当挂载文件出问题时可能会出现系统无法启动的故障,
  排除方法:以root账号进入系统,当前状态是只读,使用命令mount -o remount,rw / 
  重新挂载根文件目录,修改为读写,然后进入配置文件/etc/fstab进行修改


swap分区与挂载
  swap分区尽量使用硬盘的第一个分区,因为在磁盘的外圈,运行速度更快
  分区时fdisk命令分配空间后,用t选项改为82swap格式
    1.创建文件格式
      mkswap /dev/sdb1
    2.写入配置文件
      0cb3d030-38b4-47bb-9bf8-71cd901a4c17   swap    swap   defaults   0 0
    3.启动缓存
      swapon -a
    4.查看缓存的分区
      swapon -s
    5.swap的优先级调整: 把使用外圈磁盘的swap分区优先级调为更高能提高性能
      首先free命令查看缓存是否有使用,如果没有,再关闭要调整的分区
        swapoff /dev/sda7
      修改配置文件pri=1,0到32767的优先级,值越大优先级越高
        0cb3d030-38b4-47bb-9bf8-71cd901a4c17   swap   swap   pri=1  0 0
      然后swapon -a 开启

  删除swap分区
    先使用free命令查看要删除的分区是否有使用
    然后swapoff关闭,再修改配置文件

  使用磁盘文件配置swap分区
    1.首先使用dd命令分配一个需要大小的文件
      dd if=/dev/zero of=/root/swapfile bs=1M count=1024
    2.然后格式化文件系统
      mkswap /root/swapfile
    3.修改配置文件 最好还是使用UUID,使用文件做swap优先级尽量低
      /root/swapfile swap swap defaults 0 0
    4.然后启用
      swapon -a

猜你喜欢

转载自www.cnblogs.com/tony3154/p/10095276.html