磁盘管理相关

df
df    #  文件系统 使用率 挂载点
df -i   #indoes 使用率信息  
df -h  #大小  可读性更高 

Inode  cd /var/spool/postfix/maildrop/


fdisk 小于2T
fdisk

fdisk -l  #分区表

fdisk /dev/sda3  #进去菜单删除创建逻辑磁盘 分区

m :显示菜单和帮助信息
a :活动分区标记/引导分区
d :删除分区
l :显示分区类型
n :新建分区
p :显示分区信息
q :退出不保存
t :设置分区号
v :进行分区检查
w :保存修改
x :扩展应用,高级功能
 primary,  extended,  free
主分区和扩展分区要注意    逻辑分区一删除 该逻辑分区下面的所有分区都会删除
分区完成记得   reboot  或者  partprobe  加载分区信息    最后格式化   mkfs
gdisk 大于2T
gdisk -l [设备]

  gdisk又叫GPT fdisk,算是fdisk的延伸吧,主要使用的是GPT分区类型,用来划分容量大于2T的硬盘。

  扩展1:分区类型GPT和MBR。GPT最大支持18EB(1EB=1024PB,1PB=1024TB),MBR最大支持2TB。

  扩展2(了解):GPT,全局唯一标识分区表(GUID Partition Table),它使用128位GUID来唯一标识每个磁盘和分区。与MBR存在单一故障点不同,GPT提供分区表信息的冗余,一个在磁盘头部,一个在磁盘尾部;它通过CRC校验来检测GPT头和分区表中错误与损坏。默认一个硬盘支持128个分区(可以更多)
  
  
b 将GPT数据备份到一个文件
c 更改分区名称
  其他的操作和fdisk基本一致

partprobe

加载分区信息到内核  就不需要重启了

mkfs

device : 预备检查的硬盘分区,例如:/dev/sda1
-V : 详细显示模式
-t : 给定档案系统的型式,Linux 的预设值为 ext2
-c : 在制做档案系统前,检查该partition 是否有坏轨
-l bad_blocks_file : 将有坏轨的block资料加到 bad_blocks_file 里面
block : 给定 block 的大小



mkfs -V -t xfs -c /dev/hda5   等同与  mkfs.xfs /dev/hda5



创建一个swap分区

 swap分区在系统的物理内存不够用时,把硬盘的一部分空间释放出来,以供当前运行的程序使用。(临时使用,如果swap分区都不够了还是直接加内存吧)
 
 
 
fdisk /dev/sda3
1、创建分区
2、格式话swap交换分区  mkswap /devices(可以是分区地址,也可以是文件)  格式化成swap分区
3、swapon /devices(可以是分区地址,也可以是文件)  激活/swap,加入到swap分区中

4、free -m 查看  
5、swapon /devices(可以是分区地址,也可以是文件)  关闭/swap 交换分区
6、vim /etc/fstab(添加开机自动添加到swap分区),追加/devices swap swap defaults 0 0

通过文件扩展swap分区:

dd if=/dev/zero of=swap_file bs=1M count=500  //创建一个500M的空文件
mkswap swap_file   //格式化成swap
free -m
swapon swap_file  //激活并加入到swap分区  建议修改权限600
(swapon: /root/swap_file:不安全的权限 0644,建议使用 0600。)
free -m

dd

Linux dd 命令用于读取、转换并输出数据。

dd 可从标准输入或文件中读取数据,根据指定的格式来转换数据,再输出到文件、设备或标准输出。


sync

Linux sync命令用于数据同步,sync命令是在关闭Linux系统时使用的。

Linux 系统中欲写入硬盘的资料有的时候为了效率起见,会写到 filesystem buffer 中,这个 buffer 是一块记忆体空间,如果欲写入硬盘的资料存于此 buffer 中,而系统又突然断电的话,那么资料就会流失了,sync 指令会将存于 buffer 中的资料强制写入硬盘中。

mount/umount

mount  -o 挂载的选项 mount -o rw,remount /(企业案例:fstab改错了,文件只读故障。)

( /etc/fstab是用来存放文件系统的静态信息的文件。位于/etc/目录下,可以用命令less /etc/fstab 来查看,如果要修改的话,则用命令 vi /etc/fstab 来修改。)



挂载操作操作后 取消挂载后再进行物理插拔


ipmitool

du

以递归方式为目录汇总每个文件的磁盘使用情况。

-a :列出所有的文件与目录容量,因为默认仅统计目录底下的文件量而已。
-h :以人们较易读的容量格式 (G/M) 显示;
-s :列出总量而已,而不列出每个各别的目录占用容量;
-S :不包括子目录下的总计,与 -s 有点差别。
-k :以 KBytes 列出容量显示;
-m :以 MBytes 列出容量显示;


du -sh 文件或目录名称

MegaRaid

https://www.cnblogs.com/Pigs-Will-Fly/p/14327418.html

storcli

https://www.cnblogs.com/luxiaodai/p/9878747.html#_label2_3

PERCCli

https://jia.je/devops/2021/04/15/vmware-esxi-perccli/

iostat

安装:yum install sysstat -y  

-c:只显示系统CPU统计信息,即单独输出avg-cpu结果,不包括device结果
-d:单独输出Device结果,不包括cpu结果
-k/-m:输出结果以kB/mB为单位,而不是以扇区数为单位
-x:输出更详细的io设备统计信息
interval/count:每次输出间隔时间,count表示输出次数,不带count表示循环输出



#iostat -x -k -d 1 2。每隔1S输出磁盘IO的详细详细,总共采样2次。

Device: 以sdX形式显示的设备名称
tps: 每秒进程下发的IO读、写请求数量
KB_read/s: 每秒从驱动器读入的数据量,单位为K。
KB_wrtn/s: 每秒从驱动器写入的数据量,单位为K。
KB_read: 读入数据总量,单位为K。
KB_wrtn: 写入数据总量,单位为K。


 重点关注参数

1、iowait% 表示CPU等待IO时间占整个CPU周期的百分比,如果iowait值超过50%,或者明显大于%system、%user以及%idle,表示IO可能存在问题。

2、avgqu-sz 表示磁盘IO队列长度,即IO等待个数。

3、await 表示每次IO请求等待时间,包括等待时间和处理时间

4、svctm 表示每次IO请求处理的时间

5、%util 表示磁盘忙碌情况,一般该值超过80%表示该磁盘可能处于繁忙状态。

磁盘问题

mount

mount 的源码过程

https://zhuanlan.zhihu.com/p/466272945

fs/exfat/super.c
static int exfat_fill_super(struct super_block *sb, struct fs_context *fc)
{
    struct exfat_sb_info *sbi = sb->s_fs_info;
    struct exfat_mount_options *opts = &sbi->options;
    struct inode *root_inode;
    int err;

    if (opts->allow_utime == (unsigned short)-1)
        opts->allow_utime = ~opts->fs_dmask & 0022;

    if (opts->discard) {
        struct request_queue *q = bdev_get_queue(sb->s_bdev);

        if (!blk_queue_discard(q)) {
            exfat_warn(sb, "mounting with \"discard\" option, but the device does not support discard");
            opts->discard = 0;
        }
    }

主要分为两部分:

(1) 读取exfat 的文件系统信息, 解析后保存在 exfat_sb_info这个结构体中

(2) 设置super_block 的一些重要field, 例如s_op, s_root, s_d_op

dmesg 日志

[Mon Jun 20 11:57:59 2022] EXT4-fs (sdf): mounting with "discard" option, but the device does not support discard
[Mon Jun 20 11:58:00 2022] EXT4-fs (sdd): mounting with "discard" option, but the device does not support discard
[Mon Jun 20 11:58:00 2022] EXT4-fs (sdb): mounting with "discard" option, but the device does not support discard
[Mon Jun 20 11:58:00 2022] EXT4-fs (sdg): mounting with "discard" option, but the device does not support discard
[Mon Jun 20 11:58:00 2022] EXT4-fs (sde): mounting with "discard" option, but the device does not support discard
[Mon Jun 20 11:58:00 2022] EXT4-fs (sdc): mounting with "discard" option, but the device does not support discard
[Mon Jun 20 11:58:00 2022] EXT4-fs (sdh): mounting with "discard" option, but the device does not support discard

[root@HN-YY-RS-CTCC-YYL-BLDL-W01 ~]# mount
/dev/sdf on /swyun/data/sdf type ext4 (rw,noatime,nodiratime,discard)
/dev/sdd on /swyun/data/sdd type ext4 (rw,noatime,nodiratime,discard)
/dev/sdb on /swyun/data/sdb type ext4 (rw,noatime,nodiratime,discard)
/dev/sdg on /swyun/data/sdg type ext4 (rw,noatime,nodiratime,discard)
/dev/sde on /swyun/data/sde type ext4 (rw,noatime,nodiratime,discard)
/dev/sdc on /swyun/data/sdc type ext4 (rw,noatime,nodiratime,discard)
/dev/sdh on /swyun/data/sdh type ext4 (rw,noatime,nodiratime,discard)


noatime :对于文件系统,有时候为了提供性能,会设置noatime选项,这个选项的意思是不更新文件的access时间。所以在读取、打开、执行文件时都不会修改,这在一定程度上就降低了系统的IO,尤其是对于读取居多的服务器。
nodiratime:和noatime相似,对目录不修改时间(理论上设置了noatime 无须设置nodiratime)
discard|nodiscard : 是否发出要求块设备回收无用空间的命令。默认值是"nodiscard"。
 discard  如果设置,则释放块时,将向块设备发出丢弃/ TRIM命令。这对于SSD设备和稀疏/精简配置的LUN很有用。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值