磁盘管理--学习笔记
磁盘管理--学习笔记
磁盘分区
磁盘分区组成
主分区 只能创建4个
扩展分区
比如 安排的工作 新买一个硬盘 磁盘 挂载
第一步 买硬盘 插到物理机
第二步 分区 格式化
虚拟机演示 新增一个硬盘
-
fdisk常用选项
在 `fdisk` 的交互界面中,提供了很多命令供用户操作: - `m`:显示帮助菜单,显示上述列出的各项操作命令说明。 - `n`:创建新的分区。 - `d`:删除已有的分区。 - `p`:打印当前的分区表信息。 - `q`:退出 `fdisk` 不保存更改。 - `w`:保存并退出,将更改写入磁盘分区表。 - 其他命令:分别对应不同的功能,例如设置启动标志、更改分区类型、验证分区表等。 如果你想在 `/dev/sdb` 上创建一个新的分区,可以按照以下步骤进行: 1. 输入 `n` 创建新分区。 2. 选择分区类型(主分区 `p` 或扩展分区 `e`)并回车。 3. 设置分区编号(默认会选择未分配的最小编号)并回车。 4. 设置分区开始扇区(可以直接回车使用默认值,或者自定义)。 5. 设置分区结束扇区(同样可以选择默认值或自定义)。 6. 输入 `w` 保存并退出,完成分区创建。
[root@master ~]# fdisk -l
Disk /dev/sda: 214.7 GB, 214748364800 bytes, 419430400 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x0008aa2b
Device Boot Start End Blocks Id System
/dev/sda1 * 2048 2099199 1048576 83 Linux
/dev/sda2 2099200 197410815 97655808 83 Linux
/dev/sda3 197410816 295065599 48827392 83 Linux
/dev/sda4 295065600 419430399 62182400 5 Extended
/dev/sda5 295067648 303456255 4194304 82 Linux swap / Solaris
Disk /dev/sdb: 10.7 GB, 10737418240 bytes, 20971520 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
[root@master ~]# fdisk /dev/sdb
Welcome to fdisk (util-linux 2.23.2).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.
Device does not contain a recognized partition table
Building a new DOS disklabel with disk identifier 0x064ecb51.
Command (m for help): m
Command action
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
大于2T 磁盘分区方法
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)
Command (m for help):
n
p
Command (m for help): n
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
Select (default p): p
Partition number (1-4, default 1): 1
First sector (2048-20971519, default 2048):
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-20971519, default 20971519): +5G
Partition 1 of type Linux and of size 5 GiB is set
w 保存即可
磁盘格式化
mkfs.xfs /dev/sdb1
或者
mkfs -t xfs /dev/sdb1
文件系统 :存储的数据方式
xfs
centos6 系统常用格式
ext3
ext4
挂载
如果没有/mnt01目录 可以创建
mkdir /mnt01
mount /dev/sdb1 /mnt01
刷新加载磁盘分区
partprobe
partprobe /dev/sdb
挂载第二个分区方法
fdisk /dev/sdb
n
p
w
开机自动挂载
vi /etc/rc.local
mount /dev/sdb1 /mnt01
mount /dev/sdb2 /mnt02
如果开机不能自动挂载 要检查 配置文件权限
chmod +x
chmod +777
要给原文件权限
第二种方法自动挂载
vi /etc/fstab
UUID=12981d89-222f-4ee2-b1c7-5dc7560cd13c / xfs defaults 0 0
UUID=04cb4c4e-727f-43e6-bd0a-0063bf3268a4 /boot xfs defaults 0 0
UUID=df895761-902b-4692-81f7-d76e08aa18c3 /data xfs defaults 0 0
UUID=e2b4e0b4-f016-4cd0-a697-5b0eadbe11fd swap swap defaults 0 0
磁盘文件 挂载目录 文件系统类型 是否备份 是否检查
UUID=12981d89-222f-4ee2-b1c7-5dc7560cd13c / xfs defaults 0 0
UID=12981d89-222f-4ee2-b1c7-5dc7560cd13c 是根分区 / 对应的唯一标识符,表示系统根目录所在分区
/ 挂载点
xfs 文件系统类型
defaults 挂载选项 --表示使用默认的挂载选项
0 dump选项 --0 表示不使用 dump 工具备份这个分区
0 fsck选项 --0 表示在系统启动时按照优先级顺序检查文件系统,0 表示较低的优先级,通常 / 会被设置为 1,表示在启动时最先进行检查
如何知道用uuid
可以用blkid
[root@master ~]# blkid
/dev/sdb1: UUID="2c707329-23fe-4bb1-a359-9551fb802051" TYPE="xfs"
/dev/sdb2: UUID="42acc4f4-053b-4d74-985a-a15808d2b921" TYPE="xfs"
/dev/sda1: UUID="04cb4c4e-727f-43e6-bd0a-0063bf3268a4" TYPE="xfs"
/dev/sda2: UUID="12981d89-222f-4ee2-b1c7-5dc7560cd13c" TYPE="xfs"
/dev/sda3: UUID="df895761-902b-4692-81f7-d76e08aa18c3" TYPE="xfs"
/dev/sda5: UUID="e2b4e0b4-f016-4cd0-a697-5b0eadbe11fd" TYPE="swap"
/dev/sr0: UUID="2015-03-31-23-15-10-00" LABEL="CentOS 7 x86_64" TYPE="iso9660" PTTYPE="dos"
一般情况下我们不用uuid来进行配置,都是直接指定目录
/dev/sdb1 /mnt01 xfs default 0 0
/dev/sdb2 /mnt02 xfs default 0 0
如何删除分区
fdisk /dev/sdc
d
1
w
[root@master ~]# fdisk /dev/sdc
WARNING: The size of this disk is 2.3 TB (2254857830400 bytes).
DOS partition table format can not be used on drives for volumes
larger than (2199023255040 bytes) for 512-byte sectors. Use parted(1) and GUID
partition table format (GPT).
Welcome to fdisk (util-linux 2.23.2).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.
Command (m for help): m
Command action
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)
Command (m for help): d
Selected partition 1
Partition 1 is deleted
Command (m for help): 1
1: unknown command
Command action
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)
Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
WARNING: Re-reading the partition table failed with error 16: Device or resource busy.
The kernel still uses the old table. The new table will be used at
the next reboot or after you run partprobe(8) or kpartx(8)
Syncing disks.
[root@master ~]# fdisk -l
Disk /dev/sdb: 10.7 GB, 10737418240 bytes, 20971520 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x4077e66d
Device Boot Start End Blocks Id System
/dev/sdb1 2048 10487807 5242880 83 Linux
/dev/sdb2 10487808 18876415 4194304 83 Linux
/dev/sdb3 18876416 20971519 1047552 83 Linux
Disk /dev/sdc: 2254.9 GB, 2254857830400 bytes, 4404019200 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x651b59ca
Device Boot Start End Blocks Id System
Disk /dev/sda: 214.7 GB, 214748364800 bytes, 419430400 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x0008aa2b
Device Boot Start End Blocks Id System
/dev/sda1 * 2048 2099199 1048576 83 Linux
/dev/sda2 2099200 197410815 97655808 83 Linux
/dev/sda3 197410816 295065599 48827392 83 Linux
/dev/sda4 295065600 419430399 62182400 5 Extended
/dev/sda5 295067648 303456255 4194304 82 Linux swap / Solaris
实战
如果工作中业务量已经大于2t了?fdisk不够用了?怎么办?
[root@master ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda2 94G 1.7G 92G 2% /
devtmpfs 481M 0 481M 0% /dev
tmpfs 490M 0 490M 0% /dev/shm
tmpfs 490M 6.8M 484M 2% /run
tmpfs 490M 0 490M 0% /sys/fs/cgroup
/dev/sda3 47G 33M 47G 1% /data
/dev/sda1 1014M 124M 891M 13% /boot
tmpfs 98M 0 98M 0% /run/user/0
/dev/sdc1 2.0T 33M 2.0T 1% /mnt03
可以看到 我新加了一个2.1t的硬盘 用fdisk 分区 最后只显示2t
fdisk 支持 小于 2t
parted 命令分区 支持 大于2t
parted方法步骤
修改磁盘分区的类型
原mbr改为gpt类型
mklabel gpt
增加主分区为2100g-2.1t
mkpart paimary 0 2100G
print 打印信息 查看一下
加载一下分区
partprobe /dev/sdc
格式化
mkfs.xfs /dev/sdc1
挂载
mount /dev/sdc1 /mnt04
开机自动挂载 永久挂载
开机自动挂载
vi /etc/rc.local
mount /dev/sdb1 /mnt01
mount /dev/sdb2 /mnt02
如果开机不能自动挂载 要检查 配置文件权限
chmod +x
chmod +777
要给原文件权限
第二种方法自动挂载
vi /etc/fstab
UUID=12981d89-222f-4ee2-b1c7-5dc7560cd13c / xfs defaults 0 0
UUID=04cb4c4e-727f-43e6-bd0a-0063bf3268a4 /boot xfs defaults 0 0
UUID=df895761-902b-4692-81f7-d76e08aa18c3 /data xfs defaults 0 0
UUID=e2b4e0b4-f016-4cd0-a697-5b0eadbe11fd swap swap defaults 0 0
磁盘文件 挂载目录 文件系统类型 是否备份 是否检查
UUID=12981d89-222f-4ee2-b1c7-5dc7560cd13c / xfs defaults 0 0
UID=12981d89-222f-4ee2-b1c7-5dc7560cd13c 是根分区 / 对应的唯一标识符,表示系统根目录所在分区
/ 挂载点
xfs 文件系统类型
defaults 挂载选项 --表示使用默认的挂载选项
0 dump选项 --0 表示不使用 dump 工具备份这个分区
0 fsck选项 --0 表示在系统启动时按照优先级顺序检查文件系统,0 表示较低的优先级,通常 / 会被设置为 1,表示在启动时最先进行检查
如何知道用uuid
可以用blkid
[root@master ~]# blkid
/dev/sdb1: UUID="2c707329-23fe-4bb1-a359-9551fb802051" TYPE="xfs"
/dev/sdb2: UUID="42acc4f4-053b-4d74-985a-a15808d2b921" TYPE="xfs"
/dev/sda1: UUID="04cb4c4e-727f-43e6-bd0a-0063bf3268a4" TYPE="xfs"
/dev/sda2: UUID="12981d89-222f-4ee2-b1c7-5dc7560cd13c" TYPE="xfs"
/dev/sda3: UUID="df895761-902b-4692-81f7-d76e08aa18c3" TYPE="xfs"
/dev/sda5: UUID="e2b4e0b4-f016-4cd0-a697-5b0eadbe11fd" TYPE="swap"
/dev/sr0: UUID="2015-03-31-23-15-10-00" LABEL="CentOS 7 x86_64" TYPE="iso9660" PTTYPE="dos"
一般情况下我们不用uuid来进行配置,都是直接指定目录
/dev/sdb1 /mnt01 xfs default 0 0
/dev/sdb2 /mnt02 xfs default 0 0
实现永久挂载
开机自动挂载
vi /etc/rc.local
mount /dev/sdb1 /mnt01
mount /dev/sdb2 /mnt02
如果开机不能自动挂载 要检查 配置文件权限
chmod +x
chmod +777
要给原文件权限
第二种方法自动挂载
vi /etc/fstab
UUID=12981d89-222f-4ee2-b1c7-5dc7560cd13c / xfs defaults 0 0
UUID=04cb4c4e-727f-43e6-bd0a-0063bf3268a4 /boot xfs defaults 0 0
UUID=df895761-902b-4692-81f7-d76e08aa18c3 /data xfs defaults 0 0
UUID=e2b4e0b4-f016-4cd0-a697-5b0eadbe11fd swap swap defaults 0 0
磁盘文件 挂载目录 文件系统类型 是否备份 是否检查
UUID=12981d89-222f-4ee2-b1c7-5dc7560cd13c / xfs defaults 0 0
UID=12981d89-222f-4ee2-b1c7-5dc7560cd13c 是根分区 / 对应的唯一标识符,表示系统根目录所在分区
/ 挂载点
xfs 文件系统类型
defaults 挂载选项 --表示使用默认的挂载选项
0 dump选项 --0 表示不使用 dump 工具备份这个分区
0 fsck选项 --0 表示在系统启动时按照优先级顺序检查文件系统,0 表示较低的优先级,通常 / 会被设置为 1,表示在启动时最先进行检查
如何知道用uuid
可以用blkid
[root@master ~]# blkid
/dev/sdb1: UUID="2c707329-23fe-4bb1-a359-9551fb802051" TYPE="xfs"
/dev/sdb2: UUID="42acc4f4-053b-4d74-985a-a15808d2b921" TYPE="xfs"
/dev/sda1: UUID="04cb4c4e-727f-43e6-bd0a-0063bf3268a4" TYPE="xfs"
/dev/sda2: UUID="12981d89-222f-4ee2-b1c7-5dc7560cd13c" TYPE="xfs"
/dev/sda3: UUID="df895761-902b-4692-81f7-d76e08aa18c3" TYPE="xfs"
/dev/sda5: UUID="e2b4e0b4-f016-4cd0-a697-5b0eadbe11fd" TYPE="swap"
/dev/sr0: UUID="2015-03-31-23-15-10-00" LABEL="CentOS 7 x86_64" TYPE="iso9660" PTTYPE="dos"
一般情况下我们不用uuid来进行配置,都是直接指定目录
/dev/sdb1 /mnt01 xfs default 0 0
/dev/sdb2 /mnt02 xfs default 0 0
问题
配置了自动挂载为什么开机还是没有挂载 ?
1.查看配置文件是否出错
2.查看配置文件是否有执行权限
此问题的解决: rc.local 是个软连接 这个时候去真实的目录下查看 发现这个文件本身没有执行权限,基于执行权限
反思:一般配置文件或者脚本时 后面都要对应看文件是否有执行权限 一般都是基于执行权限
[root@master ~]# ll /etc/rc.local
lrwxrwxrwx. 1 root root 13 Mar 1 01:42 /etc/rc.local -> rc.d/rc.local
[root@master rc.d]# ll
-rw-r--r--. 1 root root 519 Mar 16 00:51 rc.local
[root@master rc.d]# chmod +x rc.local
[root@master rc.d]# ll
-rwxr-xr-x. 1 root root 519 Mar 16 00:51 rc.local
[root@master ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 200G 0 disk
├─sda1 8:1 0 1G 0 part /boot
├─sda2 8:2 0 93.1G 0 part /
├─sda3 8:3 0 46.6G 0 part /data
├─sda4 8:4 0 1K 0 part
└─sda5 8:5 0 4G 0 part [SWAP]
sdb 8:16 0 10G 0 disk
├─sdb1 8:17 0 5G 0 part
├─sdb2 8:18 0 4G 0 part
└─sdb3 8:19 0 1023M 0 part
sr0 11:0 1 636M 0 rom
[root@master ~]# ll /etc/rc.local
lrwxrwxrwx. 1 root root 13 Mar 1 01:42 /etc/rc.local -> rc.d/rc.local
[root@master ~]# cd /etc/
[root@master etc]# ls
1.sh exports mime.types rpm
adjtime favicon.png mke2fs.conf rsyslog.conf
aliases filesystems modprobe.d rsyslog.d
aliases.db firewalld modules-load.d rwtab
alternatives fstab motd rwtab.d
anacrontab gcrypt motdy sasl2
asound.conf gnupg mtab securetty
audisp GREP_COLORS my.cnf security
audit groff my.cnf.d selinux
autofs.conf group nanorc services
autofs_ldap_auth.conf group- netconfig sestatus.conf
auto.master grub2.cfg NetworkManager shadow
auto.master.d grub.d networks shadow-
auto.misc gshadow nsswitch.conf shells
auto.net gshadow- nsswitch.conf.bak skel
auto.smb gss openldap ssh
avahi host.conf opt ssl
bash_completion.d hostname os-release statetab
bashrc hosts pam.d statetab.d
binfmt.d hosts.allow passwd sudo.conf
centos-release hosts.deny passwd- sudoers
centos-release-upstream httpd pkcs11 sudoers.d
chkconfig.d init.d pki sudo-ldap.conf
cron.d inittab plymouth sysconfig
cron.daily inputrc pm sysctl.conf
cron.deny iproute2 polkit-1 sysctl.d
cron.hourly issue popt.d systemd
cron.monthly issue.net postfix system-release
crontab kdump.conf ppp system-release-cpe
cron.weekly kernel prelink.conf.d tcsd.conf
crypttab krb5.conf printcap terminfo
csh.cshrc ld.so.cache profile tmpfiles.d
csh.login ld.so.conf profile.d tuned
dbus-1 ld.so.conf.d protocols udev
default libaudit.conf rc0.d vconsole.conf
depmod.d libnl rc1.d vimrc
dhcp libuser.conf rc2.d virc
DIR_COLORS locale.conf rc3.d wgetrc
DIR_COLORS.256color localtime rc4.d wpa_supplicant
DIR_COLORS.lightbgcolor login.defs rc5.d X11
dnsmasq.conf logrotate.conf rc6.d xdg
dnsmasq.d logrotate.d rc.d xinetd.d
dracut.conf machine-id rc.local yum
dracut.conf.d magic rdma yum.conf
e2fsck.conf mailcap redhat-release yum.repos.d
environment makedumpfile.conf.sample resolv.conf
ethertypes man_db.conf rpc
[root@master etc]# cd rc.local
-bash: cd: rc.local: Not a directory
[root@master etc]# cd /rc.local
-bash: cd: /rc.local: No such file or directory
[root@master etc]# cd /rc.d
-bash: cd: /rc.d: No such file or directory
[root@master etc]# cd /rc.d
-bash: cd: /rc.d: No such file or directory
[root@master etc]# cd rc.
rc.d/ rc.local
[root@master etc]# cd rc.d/
[root@master rc.d]# ls
init.d rc0.d rc1.d rc2.d rc3.d rc4.d rc5.d rc6.d rc.local
[root@master rc.d]# ll
total 4
drwxr-xr-x. 2 root root 66 Mar 1 01:43 init.d
drwxr-xr-x. 2 root root 43 Mar 1 01:43 rc0.d
drwxr-xr-x. 2 root root 43 Mar 1 01:43 rc1.d
drwxr-xr-x. 2 root root 43 Mar 1 01:43 rc2.d
drwxr-xr-x. 2 root root 43 Mar 1 01:43 rc3.d
drwxr-xr-x. 2 root root 43 Mar 1 01:43 rc4.d
drwxr-xr-x. 2 root root 43 Mar 1 01:43 rc5.d
drwxr-xr-x. 2 root root 43 Mar 1 01:43 rc6.d
-rw-r--r--. 1 root root 519 Mar 16 00:51 rc.local
[root@master rc.d]# chmod +x rc.local
[root@master rc.d]# ll
total 4
drwxr-xr-x. 2 root root 66 Mar 1 01:43 init.d
drwxr-xr-x. 2 root root 43 Mar 1 01:43 rc0.d
drwxr-xr-x. 2 root root 43 Mar 1 01:43 rc1.d
drwxr-xr-x. 2 root root 43 Mar 1 01:43 rc2.d
drwxr-xr-x. 2 root root 43 Mar 1 01:43 rc3.d
drwxr-xr-x. 2 root root 43 Mar 1 01:43 rc4.d
drwxr-xr-x. 2 root root 43 Mar 1 01:43 rc5.d
drwxr-xr-x. 2 root root 43 Mar 1 01:43 rc6.d
-rwxr-xr-x. 1 root root 519 Mar 16 00:51 rc.local
[root@master rc.d]# reboot
[root@master ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 200G 0 disk
├─sda1 8:1 0 1G 0 part /boot
├─sda2 8:2 0 93.1G 0 part /
├─sda3 8:3 0 46.6G 0 part /data
├─sda4 8:4 0 1K 0 part
└─sda5 8:5 0 4G 0 part [SWAP]
sdb 8:16 0 10G 0 disk
├─sdb1 8:17 0 5G 0 part /mnt01
├─sdb2 8:18 0 4G 0 part /mnt02
└─sdb3 8:19 0 1023M 0 part
sr0 11:0 1 636M 0 rom
故障案例
模拟磁盘故障案例
模拟磁盘满了
dd if=/dev/zero of=/mnt01/500M bs=100M count=50
命令解释
dd: 是一个用于转换和复制文件的实用程序,常用于低级别硬盘操作,如创建、转换和复制文件。
if=/dev/zero: 指定输入文件(input file)为 /dev/zero,这是一个特殊的设备文件,提供无限的零(NULL)字节流。
of=/mnt01/500M: 指定输出文件(output file)的路径和文件名,这里是 /mnt01/500M,即将创建一个名为“500M”的文件位于 /mnt01 目录下。
bs=100M: 指定每次读写的块大小(block size)为100MB。
count=50: 指定读写操作的次数为50次。
从 /dev/zero 设备读取50次,每次读取100MB的零字节数据,并将这些数据写入到 /mnt01/500M 文件中,总计写入50*100MB=5000MB,也就是5GB的数据,因此最终创建的文件大小将是大约5GB
1.磁盘满了?
[root@master ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda2 94G 1.7G 92G 2% /
devtmpfs 481M 0 481M 0% /dev
tmpfs 490M 0 490M 0% /dev/shm
tmpfs 490M 6.8M 484M 2% /run
tmpfs 490M 0 490M 0% /sys/fs/cgroup
/dev/sda3 47G 33M 47G 1% /data
/dev/sda1 1014M 124M 891M 13% /boot
/dev/sdb1 5.0G 5.0G 20K 100% /mnt01
/dev/sdb1 5.0G 5.0G 20K 100% /mnt01 显示已用了100%了
如何解决?
du -sh /* 列出根目录的文件目录大小
find . -type f -size +100M 当前目录大于100m的文件
find / -type f -size +100M 根目录大于100m的文件
找到这个文件把他删掉
[root@master mnt01]# du -sh /*
8.0K /backup
0 /bin
91M /boot
4.0K /data
0 /dev
21M /etc
1.3M /home
0 /lib
0 /lib64
0 /media
0 /misc
0 /mnt
5.0G /mnt01
0 /mnt02
0 /mnt03
0 /mnt04
0 /net
0 /opt
du: cannot access ‘/proc/2211/task/2211/fd/4’: No such file or directory
du: cannot access ‘/proc/2211/task/2211/fdinfo/4’: No such file or directory
du: cannot access ‘/proc/2211/fd/4’: No such file or directory
du: cannot access ‘/proc/2211/fdinfo/4’: No such file or directory
0 /proc
100K /root
6.8M /run
0 /sbin
0 /srv
0 /sys
4.0K /test
388K /tmp
806M /usr
816M /var
[root@master mnt01]# find . -type f -size +100M
./500M
[root@master mnt01]# find / -type f -size +100M
/proc/kcore
find: ‘/proc/2317/task/2317/fdinfo/6’: No such file or directory
find: ‘/proc/2317/fdinfo/6’: No such file or directory
/sys/devices/pci0000:00/0000:00:0f.0/resource1_wc
/sys/devices/pci0000:00/0000:00:0f.0/resource1
/var/cache/yum/x86_64/7/updates/gen/primary_db.sqlite
/var/cache/yum/x86_64/7/updates/gen/filelists_db.sqlite
/usr/lib/locale/locale-archive
/mnt01/500M
找到这个文件把他删掉
2.使用df -h 磁盘还有空间 但是无法新建文件?
故障现象
[root@master ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda2 94G 2.0G 92G 3% /
devtmpfs 481M 0 481M 0% /dev
tmpfs 490M 0 490M 0% /dev/shm
tmpfs 490M 6.8M 484M 2% /run
tmpfs 490M 0 490M 0% /sys/fs/cgroup
/dev/sda3 47G 33M 47G 1% /data
/dev/sda1 1014M 124M 891M 13% /boot
/dev/sdb1 5.0G 369M 4.7G 8% /mnt01
/dev/sdb2 4.0G 33M 4.0G 1% /mnt02
/dev/sdd1 1020M 344M 677M 34% /mnt05
/dev/sdd1 1020M 344M 677M 34% /mnt05
[root@master mnt05]# touch nwq21.txt
touch: cannot touch ‘nwq21.txt’: No space left on device
可以看到这个分区还有600m的空间未使用呢 但是无法新建文件了
解决
inode 节点编号满了 大量的小文件造成的
使用df -i 肯定占用100%
肯定有大量的小文件吧inode号占满了 找到它删除就可以了
删除
find /mnt05 -type f -name "*.txt" -d
find /mnt05 -type f -name 'w*' -print0 | xargs -0 rm -f
find /mnt05 -type f -name '*.txt' |rm -f