跳转到内容

磁盘管理

磁盘扩展

场景描述

早上起来使用 jenkins 自动化部署时,发现日志中提示磁盘已满的问题,在查询解决此问题的过程中,有很多博客都建议修改构件保存天数。笔者在自动化部署的设置过程中,本身设置的保存天数就很小。然后查看一下磁盘的使用情况,发现 root 分区已使用 100%。只能使用修改分区的方式进行修改了。 在此问题出现的头一天晚上,重启了一下服务器,然后 rabbitmq 就再也启动不起来了,查看日志文件,网上也说是因为磁盘已满的问题。 早上过来发现,showdoc 也挂掉了,但是挂掉一段时间之后自动又好了。

解决过程

查看磁盘使用情况

bash
[root@dev ~]# df -h
文件系统                     容量  已用  可用 已用% 挂载点
/dev/mapper/centos_dev-root  118G  118G   20K  100% /
devtmpfs                      32G     0   32G    0% /dev
tmpfs                         32G     0   32G    0% /dev/shm
tmpfs                         32G  9.8M   32G    1% /run
tmpfs                         32G     0   32G    0% /sys/fs/cgroup
/dev/sda1                   1014M  186M  829M   19% /boot
/dev/mapper/centos_dev-home  7.2T   26G  7.2T    1% /home
tmpfs                        6.3G     0  6.3G    0% /run/user/0

备份 home

bash
[root@dev ~]# cp -r /home/ /dev/homebak

卸载 home

bash
[root@dev ~]# umount /home

删除 home 所在的 lv

bash
[root@dev ~]# lvremove -y /dev/mapper/centos_dev-home
  Logical volume "home" successfully removed

显示 lvm 卷组信息

bash
[root@dev ~]# vgdisplay
  --- Volume group ---
  VG Name               centos_dev
  System ID
  Format                lvm2
  Metadata Areas        2
  Metadata Sequence No  5
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                2
  Open LV               2
  Max PV                0
  Cur PV                2
  Act PV                2
  VG Size               7.27 TiB
  PE Size               4.00 MiB
  Total PE              1907041
  Alloc PE / Size       38240 / <149.38 GiB
  Free  PE / Size       1868801 / <7.13 TiB
  VG UUID               js7DO7-igaq-Si7p-lAef-PkXA-FS3W-5hnfSu

扩展 root 所在的 lv

bash
[root@dev ~]# lvextend -L +3T /dev/mapper/centos_dev-root
  Size of logical volume centos_dev/root changed from 118.00 GiB (30208 extents) to <3.12 TiB (816640 extents).
  Logical volume centos_dev/root successfully resized.

扩展 root 文件系统

bash
[root@dev ~]# xfs_growfs /dev/mapper/centos_dev-root
meta-data=/dev/mapper/centos_dev-root isize=512    agcount=4, agsize=7733248 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0 spinodes=0
data     =                       bsize=4096   blocks=30932992, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal               bsize=4096   blocks=15104, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
data blocks changed from 30932992 to 836239360

重新创建 home 的 lv

bash
[root@dev ~]# lvcreate -L 4T -n home centos_dev
  Logical volume "home" created.

创建 home 文件系统

[root@dev centos_dev]# mkfs.xfs /dev/centos_dev/home
meta-data=/dev/centos_dev/home   isize=512    agcount=4, agsize=268435455 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0, sparse=0
data     =                       bsize=4096   blocks=1073741820, imaxpct=5
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal log           bsize=4096   blocks=521728, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0

挂载 home 并恢复备份

bash
[root@dev centos_dev]# mount /dev/centos_dev/home /home
[root@dev centos_dev]# cp -r /dev/homebak/ /home/
[root@dev ~]# df -h
文件系统                     容量  已用  可用 已用% 挂载点
/dev/mapper/centos_dev-root  3.2T  118G  3.1T    4% /
devtmpfs                      32G   26G  6.3G   81% /dev
tmpfs                         32G     0   32G    0% /dev/shm
tmpfs                         32G  9.8M   32G    1% /run
tmpfs                         32G     0   32G    0% /sys/fs/cgroup
/dev/sda1                   1014M  186M  829M   19% /boot
tmpfs                        6.3G     0  6.3G    0% /run/user/0
/dev/mapper/centos_dev-home  4.0T   29G  4.0T    1% /home

参考链接

  1. https://blog.csdn.net/huqigang/article/details/79710201

--

对 ntfs 硬盘进行分区和格式化

plain
[root@home ~]# fdisk -l
WARNING: fdisk GPT support is currently new, and therefore in an experimental phase. Use at your own discretion.

磁盘 /dev/sda:120.0 GB, 120034123776 字节,234441648 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:gpt
Disk identifier: 8CAAF60E-CE8B-4FB1-8362-11358305ED5C


#         Start          End    Size  Type            Name
 1         2048       411647    200M  EFI System      EFI System Partition
 2       411648      2508799      1G  Microsoft basic
 3      2508800    234440703  110.6G  Linux LVM

磁盘 /dev/sdb:128.0 GB, 128035676160 字节,250069680 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x7eadcdcf

   设备 Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048   250068991   125033472    7  HPFS/NTFS/exFAT

磁盘 /dev/mapper/centos_home-root:53.7 GB, 53687091200 字节,104857600 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节


磁盘 /dev/mapper/centos_home-swap:12.0 GB, 12004098048 字节,23445504 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节


磁盘 /dev/mapper/centos_home-home:53.1 GB, 53053751296 字节,103620608 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节

[root@home ~]# blkid
/dev/sda1: SEC_TYPE="msdos" UUID="E901-9F48" TYPE="vfat" PARTLABEL="EFI System Partition" PARTUUID="3e464077-71bb-4591-b33a-76cbe63d2a47"
/dev/sda2: UUID="ee311bbc-3221-4f52-8e06-cee71f3f85fd" TYPE="xfs" PARTUUID="31203d97-969a-406f-90f0-d43a9aee0320"
/dev/sda3: UUID="fIheeY-D4ju-GX92-aRSg-6szE-w9ro-nUFa9R" TYPE="LVM2_member" PARTUUID="30ce5c69-4215-4f30-af60-ab1d808a015f"
/dev/sdb1: LABEL="ZEANZAI" UUID="287C36557C361E4E" TYPE="ntfs"
/dev/mapper/centos_home-root: UUID="12f8ea5d-3566-4be0-bb55-7e990a6a4512" TYPE="xfs"
/dev/mapper/centos_home-swap: UUID="72cd84a4-3e77-4e62-8805-56673ea29c4e" TYPE="swap"
/dev/mapper/centos_home-home: UUID="682c9bc6-d436-43fa-a156-c0c542faadf3" TYPE="xfs"
[root@home ~]# df -Th
文件系统                     类型      容量  已用  可用 已用% 挂载点
devtmpfs                     devtmpfs   12G     0   12G    0% /dev
tmpfs                        tmpfs      12G     0   12G    0% /dev/shm
tmpfs                        tmpfs      12G  8.9M   12G    1% /run
tmpfs                        tmpfs      12G     0   12G    0% /sys/fs/cgroup
/dev/mapper/centos_home-root xfs        50G  1.7G   49G    4% /
/dev/sda2                    xfs      1014M  144M  871M   15% /boot
/dev/sda1                    vfat      200M   12M  189M    6% /boot/efi
/dev/mapper/centos_home-home xfs        50G   33M   50G    1% /home
tmpfs                        tmpfs     2.4G     0  2.4G    0% /run/user/0
[root@home ~]# lsblk
NAME                 MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda                    8:0    0 111.8G  0 disk
├─sda1                 8:1    0   200M  0 part /boot/efi
├─sda2                 8:2    0     1G  0 part /boot
└─sda3                 8:3    0 110.6G  0 part
  ├─centos_home-root 253:0    0    50G  0 lvm  /
  ├─centos_home-swap 253:1    0  11.2G  0 lvm  [SWAP]
  └─centos_home-home 253:2    0  49.4G  0 lvm  /home
sdb                    8:16   0 119.2G  0 disk
└─sdb1                 8:17   0 119.2G  0 part
plain

# 使用fdisk工具进行分区和格式化
[root@home ~]# fdisk /dev/sdb
欢迎使用 fdisk (util-linux 2.23.2)。

更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。


命令(输入 m 获取帮助):m
命令操作
   a   toggle a bootable flag
   b   edit bsd disklabel
   c   toggle the dos compatibility flag
   d   delete a partition
   g   create a new empty GPT partition table
   G   create an IRIX (SGI) partition table
   l   list known partition types
   m   print this menu
   n   add a new partition
   o   create a new empty DOS partition table
   p   print the partition table
   q   quit without saving changes
   s   create a new empty Sun disklabel
   t   change a partition's system id
   u   change display/entry units
   v   verify the partition table
   w   write table to disk and exit
   x   extra functionality (experts only)

命令(输入 m 获取帮助):n

[root@home ~]# fdisk /dev/sdb
欢迎使用 fdisk (util-linux 2.23.2)。

更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。


命令(输入 m 获取帮助):d
已选择分区 1
分区 1 已删除

命令(输入 m 获取帮助):n
Partition type:
   p   primary (0 primary, 0 extended, 4 free)
   e   extended
Select (default p): p
分区号 (1-4,默认 1):
起始 扇区 (2048-250069679,默认为 2048):
将使用默认值 2048
Last 扇区, +扇区 or +size{K,M,G} (2048-250069679,默认为 250069679):+50G
分区 1 已设置为 Linux 类型,大小设为 50 GiB

命令(输入 m 获取帮助):n
Partition type:
   p   primary (1 primary, 0 extended, 3 free)
   e   extended
Select (default p): p
分区号 (2-4,默认 2):
起始 扇区 (104859648-250069679,默认为 104859648):
将使用默认值 104859648
Last 扇区, +扇区 or +size{K,M,G} (104859648-250069679,默认为 250069679):
将使用默认值 250069679
分区 2 已设置为 Linux 类型,大小设为 69.2 GiB

命令(输入 m 获取帮助):w
The partition table has been altered!

Calling ioctl() to re-read partition table.
正在同步磁盘。
[root@home ~]# lsblk
NAME                 MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda                    8:0    0 111.8G  0 disk
├─sda1                 8:1    0   200M  0 part /boot/efi
├─sda2                 8:2    0     1G  0 part /boot
└─sda3                 8:3    0 110.6G  0 part
  ├─centos_home-root 253:0    0    50G  0 lvm  /
  ├─centos_home-swap 253:1    0  11.2G  0 lvm  [SWAP]
  └─centos_home-home 253:2    0  49.4G  0 lvm  /home

sdb                    8:16   0 119.2G  0 disk
├─sdb1                 8:17   0    50G  0 part
└─sdb2                 8:18   0  69.2G  0 part
[root@home ~]# mkfs.ext4 /dev/sdb1
mke2fs 1.42.9 (28-Dec-2013)
Discarding device blocks: 完成
文件系统标签=
OS type: Linux
块大小=4096 (log=2)
分块大小=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
3276800 inodes, 13107200 blocks
655360 blocks (5.00%) reserved for the super user
第一个数据块=0
Maximum filesystem blocks=2162163712
400 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks:
	32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
	4096000, 7962624, 11239424

Allocating group tables: 完成
正在写入inode表: 完成
Creating journal (32768 blocks): 完成
Writing superblocks and filesystem accounting information: 完成

[root@home ~]# mkfs.ext4 /dev/sdb2
mke2fs 1.42.9 (28-Dec-2013)
Discarding device blocks: 完成
文件系统标签=
OS type: Linux
块大小=4096 (log=2)
分块大小=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
4538368 inodes, 18151254 blocks
907562 blocks (5.00%) reserved for the super user
第一个数据块=0
Maximum filesystem blocks=2166358016
554 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks:
	32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
	4096000, 7962624, 11239424

Allocating group tables: 完成
正在写入inode表: 完成
Creating journal (32768 blocks): 完成
Writing superblocks and filesystem accounting information: 完成

[root@home ~]# mkdir /mnt/log
[root@home ~]# mkdir /mnt/userfiles
[root@home ~]# vi /etc/fstab

添加以下两行
/dev/sdb1 /mnt/log ext4 defaults 0 0
/dev/sdb2 /mnt/userfiles ext4 defaults 0 0

[root@home ~]# reboot

参考这里:https://developer.aliyun.com/article/1633309

plain

[root@home ~]#  mount | grep sdb
/dev/sdb1 on /mnt/log type ext4 (rw,relatime,seclabel,data=ordered)
/dev/sdb2 on /mnt/userfiles type ext4 (rw,relatime,seclabel,data=ordered)

[root@home ~]# fdisk -l

磁盘 /dev/sdb:128.0 GB, 128035676160 字节,250069680 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x7eadcdcf

   设备 Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048   104859647    52428800   83  Linux
/dev/sdb2       104859648   250069679    72605016   83  Linux
WARNING: fdisk GPT support is currently new, and therefore in an experimental phase. Use at your own discretion.

磁盘 /dev/sda:120.0 GB, 120034123776 字节,234441648 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:gpt
Disk identifier: 8CAAF60E-CE8B-4FB1-8362-11358305ED5C


#         Start          End    Size  Type            Name
 1         2048       411647    200M  EFI System      EFI System Partition
 2       411648      2508799      1G  Microsoft basic
 3      2508800    234440703  110.6G  Linux LVM

磁盘 /dev/mapper/centos_home-root:53.7 GB, 53687091200 字节,104857600 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节


磁盘 /dev/mapper/centos_home-swap:12.0 GB, 12004098048 字节,23445504 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节


磁盘 /dev/mapper/centos_home-home:53.1 GB, 53053751296 字节,103620608 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节


[root@home ~]# blkid
/dev/mapper/centos_home-root: UUID="12f8ea5d-3566-4be0-bb55-7e990a6a4512" TYPE="xfs"
/dev/sda3: UUID="fIheeY-D4ju-GX92-aRSg-6szE-w9ro-nUFa9R" TYPE="LVM2_member" PARTUUID="30ce5c69-4215-4f30-af60-ab1d808a015f"
/dev/sdb1: UUID="96f4d339-a80c-40fa-a211-8d52364eefbc" TYPE="ext4"
/dev/sdb2: UUID="480ec054-9974-44c5-adb2-748dbfa1dcc5" TYPE="ext4"
/dev/sda1: SEC_TYPE="msdos" UUID="E901-9F48" TYPE="vfat" PARTLABEL="EFI System Partition" PARTUUID="3e464077-71bb-4591-b33a-76cbe63d2a47"
/dev/sda2: UUID="ee311bbc-3221-4f52-8e06-cee71f3f85fd" TYPE="xfs" PARTUUID="31203d97-969a-406f-90f0-d43a9aee0320"
/dev/mapper/centos_home-swap: UUID="72cd84a4-3e77-4e62-8805-56673ea29c4e" TYPE="swap"
/dev/mapper/centos_home-home: UUID="682c9bc6-d436-43fa-a156-c0c542faadf3" TYPE="xfs"
[root@home ~]# df -Th
文件系统                     类型      容量  已用  可用 已用% 挂载点
devtmpfs                     devtmpfs   12G     0   12G    0% /dev
tmpfs                        tmpfs      12G     0   12G    0% /dev/shm
tmpfs                        tmpfs      12G  8.9M   12G    1% /run
tmpfs                        tmpfs      12G     0   12G    0% /sys/fs/cgroup
/dev/mapper/centos_home-root xfs        50G  1.6G   49G    4% /
/dev/sda2                    xfs      1014M  144M  871M   15% /boot
/dev/sdb1                    ext4       50G   53M   47G    1% /mnt/log
/dev/sdb2                    ext4       69G   53M   65G    1% /mnt/userfiles
/dev/sda1                    vfat      200M   12M  189M    6% /boot/efi
/dev/mapper/centos_home-home xfs        50G   33M   50G    1% /home
tmpfs                        tmpfs     2.4G     0  2.4G    0% /run/user/0
[root@home ~]# lsblk
NAME                 MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda                    8:0    0 111.8G  0 disk
├─sda1                 8:1    0   200M  0 part /boot/efi
├─sda2                 8:2    0     1G  0 part /boot
└─sda3                 8:3    0 110.6G  0 part
  ├─centos_home-root 253:0    0    50G  0 lvm  /
  ├─centos_home-swap 253:1    0  11.2G  0 lvm  [SWAP]
  └─centos_home-home 253:2    0  49.4G  0 lvm  /home
sdb                    8:16   0 119.2G  0 disk
├─sdb1                 8:17   0    50G  0 part /mnt/log
└─sdb2                 8:18   0  69.2G  0 part /mnt/userfiles

挂载 NTFS 硬盘

由于家里的电脑原来装的是 windows 系统,并且我自己扩展了两块硬盘,原来 Windows 系统时,两块硬盘可以正常读写,但是在物理机上面安装上 centos7.5 以后,由于只是格式化 c 盘,把 centos7.5 系统安装到了 c 盘,所以之前自己扩展的两块硬盘就无法正常读写了,此时,需要在 centos 系统上读写两块硬盘内容,需要怎么处理呢?下面给出解决方案。

安装依赖包

bash
yum install -y fuse ntfs-3g

挂载硬盘

bash
[root@home data]# mkdir -p /mnt/data/d /mnt/data/e

[root@home data]# lsblk -f
NAME                 FSTYPE      LABEL    UUID                                   MOUNTPOINT
sda
├─sda1               vfat                 B476-53D1                              /boot/efi
├─sda2               xfs                  cd9c42b2-dafc-40dc-a780-28e8b5ed453a   /boot
└─sda3               LVM2_member          pue3cy-Bdmo-txbs-f7vS-3Oef-78zY-ACq296
  ├─centos_home-root xfs                  a1c1e8bc-3a27-47b6-a2aa-f329e4b77e86   /
  ├─centos_home-swap swap                 4ff247c5-07b8-4143-93bc-1496ac3a7162   [SWAP]
  └─centos_home-home xfs                  2d5c8133-4174-4689-906a-62c316aa6839   /home
sdb
└─sdb1               ntfs        Software 90769AF9769ADEF2
sdc
├─sdc1
└─sdc2               ntfs        Zeanzai  D4947D40947D25E0

[root@home data]# mount /dev/sdb1 /mnt/data/d
[root@home data]# mount /dev/sdc2 /mnt/data/e

自动挂载

如果需要永久挂载,先查到该盘的 type 值:

bash

[root@home ~]# blkid
/dev/mapper/centos_home-root: UUID="a1c1e8bc-3a27-47b6-a2aa-f329e4b77e86" TYPE="xfs"
/dev/sda3: UUID="pue3cy-Bdmo-txbs-f7vS-3Oef-78zY-ACq296" TYPE="LVM2_member" PARTUUID="3f965157-bb9c-49b5-9aeb-20726f024e6f"
/dev/sdb1: LABEL="Software" UUID="90769AF9769ADEF2" TYPE="ntfs" PARTLABEL="Basic data partition" PARTUUID="8ba8c6a7-4a88-47d2-b94e-97d2d97a144e"
/dev/sdc1: PARTLABEL="Microsoft reserved partition" PARTUUID="6207f65b-8b11-46bd-bd4a-d14f2d5a0c6e"
/dev/sdc2: LABEL="Zeanzai" UUID="D4947D40947D25E0" TYPE="ntfs" PARTLABEL="Basic data partition" PARTUUID="3220d24a-a508-4dfb-af5e-ae2a749c9d9f"
/dev/sda1: SEC_TYPE="msdos" UUID="B476-53D1" TYPE="vfat" PARTLABEL="EFI System Partition" PARTUUID="82eac0f4-625e-4b70-80c7-221bee59c290"
/dev/sda2: UUID="cd9c42b2-dafc-40dc-a780-28e8b5ed453a" TYPE="xfs" PARTUUID="1075528c-e57e-4734-a6c9-74a798184fcb"
/dev/mapper/centos_home-swap: UUID="4ff247c5-07b8-4143-93bc-1496ac3a7162" TYPE="swap"
/dev/mapper/centos_home-home: UUID="2d5c8133-4174-4689-906a-62c316aa6839" TYPE="xfs"

在最下面添加两行

bash

#
# /etc/fstab
# Created by anaconda on Sun Jun 27 13:23:19 2021
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
/dev/mapper/centos_home-root /                       xfs     defaults        0 0
UUID=cd9c42b2-dafc-40dc-a780-28e8b5ed453a /boot                   xfs     defaults        0 0
UUID=B476-53D1          /boot/efi               vfat    umask=0077,shortname=winnt 0 0
/dev/mapper/centos_home-home /home                   xfs     defaults        0 0
/dev/mapper/centos_home-swap swap                    swap    defaults        0 0

/dev/sdb1 /mnt/data/d           ntfs defaults 0 0
/dev/sdc2 /mnt/data/e           ntfs defaults 0 0

注意是 ntfs,不是其他。

如果遇到无法正常启动时,可以参考 https://blog.csdn.net/weixin_34401479/article/details/94316392

其它命令

bash
# 查看所有磁盘的分区情况
fdisk -l

# 卸载
umount /dev/sdd1

# 查看已挂载磁盘使用情况
df -h

挂载 exFat 磁盘驱动器

bash
yum install epel-release
rpm -v --import http://li.nux.ro/download/nux/RPM-GPG-KEY-nux.ro
rpm -Uvh http://li.nux.ro/download/nux/dextop/el7/x86_64/nux-dextop-release-0-5.el7.nux.noarch.rpm
yum install exfat-utils fuse-exfat


[root@home data]# mount -t exfat /dev/sdd1 /mnt/data/f

生产问题案例及解决过程

面试题:维护的时候,创建文件提示”No space left on device”,请问你这是什么故障:

解答:磁盘空间 block 满了或者 inode 被占满了

故障描述及说明

某年某月甘日某时,某人在工作中设置 crontab 定时任务规则保存时,提示” No space left on device”,此时用 df -h 检查磁盘,发现还有剩余空间,用 df -I  检查则显示/var 目录己占用 100%的 inode 数量,看来是 inode 数量耗尽,导致系统无法在/var 目录下创建文件,因为定时任务的配置在/var/spool/cron 下,ext3 文件系统中,每个文件需要占一个 inode。

故障原因分析

当系统中 crond 定时任务执行程序有输出内容时,输出内容会以邮件形式发给 crond 的用户(默认是 root),而 sendmail 等 mail 服务没有启动时,这些输出内容以为支在邮件队列临时目录,产生这些碎文件,导致消耗 inode 数量,一旦 inode 数量耗尽,就会导致系统无法写入文件,而报上述错误:No space left on device.

亡羊补牢解决方法

  1. 尽量将 crontab 里面的命令或脚本中的命令结尾加上>/dev/null 2>&1,或在做定时执行脚本时,把屏幕输出定向到指定文件里

  2. 当然也可以开启邮件服务,不过最好不做,因为邮件服务会带来安全问题

  3. 优化系统,加定时清理任务,如 find /var/spool/clientmqueue/ -type f -mtime +30|xargs rm -f

调试 crontab 定时任务

  1. 增加执行频率调试任务
  2. 调整系统时间调试任务
  3. 通过日志输出调试定时任务
  4. 通过定时任务日志调试定时任务

参考

  1. http://blog.51cto.com/mrxiong2017/2084803
  2. https://blog.csdn.net/andrewgb/article/details/47374963
  3. https://www.cnblogs.com/javahr/p/8318728.html

make it come true