磁碟管理--學習筆記
磁碟分割槽
磁碟分割槽組成
主分割槽 只能建立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