磁盘管理

lsblk命令查看现有硬盘,RM1:表示机械硬盘,0:固态

 

 

 热添加硬盘时,llsblk看不见

 

 

ls /sys/class/scsi_host/查看主机scsi总线号

扫描硬盘:

echo - - - >  /sys/class/scsi_host/host0/scan;echo - - - >  /sys/class/scsi_host/host1/scan;echo - - - >  /sys/class/scsi_host/host3/scan

在CentOS 8上 比较多,可以用for i in {0..32};do echo '- - -' > /sys/class/scsi_host/host$i/scan;done

 

 

 之后创建分区

MBR:使用32位表示扇区数,分区不超过2T

MBR分区中一块硬盘最多有4个主分区,也可以3主分区+1扩展(N个逻辑分区)

主和扩展分区对应的1--4,/dev/sda3,逻辑分区从5开始,/dev/sda5 MBR分区结构

GPT:支持128个分区,使用64位,支持8Z( 512Byte/block )64Z ( 4096Byte/block)

使用128位UUID(Universally Unique Identifier) 表示磁盘和分区 GPT分区表自动备份在头和尾两份, 并有CRC校验位

fdisk、  gdisk :较为安全稳定的分区管理,fdisk对于MBR(2T),gdisk对GPT(4T以上)

parted 高级分区操作,可以是交互或非交互方式,parted的操作都是实时生效的,小心使用

lsblk,df,fdisk-l都可以查看分区,但只有fdisk -l 真正的实时查看分区表

fdisk常用选项:d  删除 n 创建   p   打印   w 保存退出 

centos6上更改分区后需要执行刷新:

增加:  partx -a  ;  删除:partx -d --nr 

CentOS7及之后版本:partprobe

只是分区还无法使用,在系统中能看见和使用的都是有文件系统的硬盘,所以接下来创建文件系统

ext4:是 ext 文件系统的最新版。提供了很多新的特性,

包括纳秒级时间戳、创建和使用巨型文件 (16TB)、最大1EB的文件系统,以及速度的提升

xfs:SGI,支持最大8EB的文件系统,是红帽公司近年推行的,虽然可支持的文件系统大,但本身元数据也大,使用哪种根据情况

mkfs 创建文件管理系统

(1) mkfs.FS_TYPE /dev/DEVICE  ext4、 xfs 、 btrfs 、 vfat (2) mkfs -t FS_TYPE /dev/DEVICE  -L 'LABEL' 设定卷标 

 mkfs.etx4, mkfs.xfs, mkfs.vfat  用户空间管理工具

 mke2fs:ext系列文件系统专用管理工具

  -t {ext2|ext3|ext4|xfs} 指定文件系统类型

  -b {1024|2048|4096} 指定块

  block 大小

  -L ‘LABEL’ 设置卷标

-j 相当于 -t ext3, mkfs.ext3 = mkfs -t ext3 = mke2fs -j = mke2fs -t ext3

-i   # 为数据空间中每多少个字节创建一个inode;不应该小于block大小

-N # 指定分区中创建多少个inode -I 一个inode记录占用的磁盘空间大小,128---4096

-m # 默认5%,为管理人员预留空间占总空间的百分比

-O FEATURE[,...] 启用指定特性

-O ^FEATURE 关闭指定特性

blkid 查看块设备,可以确认分区

     -U UUID 根据指定的UUID来查找对应的设备 ;-L LABEL 根据指定的LABEL来查找对应的设备 

e2label 管理ext 系列文件系统LABEL

findfs 查找分区

tune2fs 设置ext系统可调整参数

  -l  查看指定文件系统超级块信息;super block

  -L 'LABEL’  修改卷标

  -m #    修预留给管理员的空间百分比

  -j  将ext2升级为ext3

  -O  文件系统属性启用或禁用,–O ^has_journal

  -o  调整文件系统的默认挂载选项,–o ^acl

  -U UUID 修改UUID号

dumpe2fs 显示ext4
  -h 显示超级块信息

xfs_info:显示示挂载或已挂载的 xfs 文件系统信息

如果一切正常,此时就可以挂载到挂载点上使用

挂载规则:
一个挂载点同一时间只能挂载一个设备

一个挂载点同一时间挂载了多个设备,只能看到后一个设备的数据,其它设备上的数据将被隐藏

一个设备可以同时挂载到多个挂载点

通常挂载点一般是已存在空的目录

findmnt  查询是否为挂载点,重复挂载到同一位置会隐藏原有文件,造成混乱

mount [-fnrsvw] [-t vfstype] [-o options] device mountpoint

 device:指明要挂载的设备 设备文件:例如:/dev/sda5

 卷标:-L 'LABEL', 例如 -L 'MYDATA'

 UUID: -U 'UUID':例如 -U '0c50523c-43f1-45e7-85c0-a126711d406e'

 伪文件系统名称:proc, sysfs, devtmpfs, configfs

 mountpoint:挂载点目录必须事先存在,建议使用空目录

mount常用选项

 -t vsftype 指定要挂载的设备上的文件系统类型

 -r readonly,只读挂载

 -w read and write, 读写挂载

 -n 不更新/etc/mtab,mount不可见

 -a 自动挂载所有支持自动挂载的设备(定义在了/etc/fstab文件中,且挂载选项中有 auto功能)

 -L 'LABEL' 以卷标指定挂载设备

 -U 'UUID' 以UUID指定要挂载的设备

 -B, --bind 绑定目录到另一个目录上
-o    options:(挂载文件系统的选项),多个选项使用逗号分隔

   async   异步模式,内存更改时,写入缓存区buffer,过一段时间再写到磁盘中,效率高,但不安全  

   sync   同步模式,内存更改时,同时写磁盘,安全,但效率低下

   atime/noatime 包含目录和文件

   diratime/nodiratime 目录的访问时间戳

   auto/noauto 是否支持开机自动挂载,是否支持-a选项

   exec/noexec 是否支持将文件系统上运行应用程序

   dev/nodev 是否支持在此文件系统上使用设备文件

   suid/nosuid 是否支持suid和sgid权限 r

   emount 重新挂载

   ro/rw 只读、读写  

   user/nouser 是否允许普通用户挂载此设备,/etc/fstab使用

   acl/noacl 启用此文件系统上的acl功能

   loop 使用loop设备

   _netdev   当网络可用时才对网络资源进行挂载,如:NFS文件系统

   defaults 相当于rw, suid, dev, exec, auto, nouser, async

解除挂载时要确认无人使用,

查询:lsof MOUNT_POINT        fuser -v MOUNT_POINT

终止所有正在访问指定文件系统的进程:

fuser -km MOUNT_POINT

解除挂载: umount

当磁盘出现故障,如分区表被破坏,在完成解除挂载后修复

fsck 修复,检查磁盘健康

fsck.FS_TYPE

 -a  自动修复

 -r  交互式修复错误 

e2fsck:ext系列文件专用的检测修复工具

 -y  自动回答为yes

 -f  强制修复

 -p  自动进行安全的修复文件系统问题

xfs_repair:xfs文件系统专用检测修复工具

常用选项:
 -f 修复文件

 -n 只检查

 -d 允许修复只读的挂载设备,在单用户下修复 / 时使用,然后立即reboot

想要实现永久挂载,需要配置 /etc/fstab

 

仿照样式写就可以 

 

posted @ 2020-04-18 17:09  天际之上可有蓝天  阅读(489)  评论(0)    收藏  举报