Linux磁盘应用
第1章?永久掛載
1.1?/etc/fstab 開機自動掛載文件
?
1.2?/etc/rc.d/rc.local 開機自動運行操作
(CentOS 7?chmod +x?/etc/rc.d/rc.local)要加操作權限
?
mount /dev/sdb1 ?/data/?掛載
?
# tail -1 /etc/fstab?存放文件系統的靜態信息的文件
/dev/sdb1 ??????????????????/data ??????????????????xfs ????defaults ???????0 0
?
# blkid?命令???顯示已經掛載的分區信息
?
?
第2章?磁盤故障:
2.1?磁盤空間不足?
2.1.1?block滿了 df -h 排查流程 ?du -sh 一層一層排查 最后找到大文件或目錄 ?確認之后刪除
2.1.2?inode滿了 (定時任務) ???找出系統中比較大的目錄(1M) ?目錄下面會有大量小文件 find?
2.1.3?顯示no space left on device(設備上沒有剩余的空間了)?,df -h磁盤空間還有剩余,什么原因?
2.1.4?因為文件沒有被徹底刪除 ???(硬連接數為0,進程調用數不為0) ??lsof |grep delete ?重啟對應服務
?
應對:
從跟下逐步排查
du -sh /* ????????|grep G
du -sh /var/* ?????|grep G
du -sh /var/log/*???|grep G
找到后刪除,但系統負載并沒有變化
原因:有程序正在讀取或寫入該文件
?
lsof命令:查看系統正在打開的文件
查找出 誰使用oldboy.txt 占用
# lsof |grep oldboy.txt
tail ?????5547 ????????root ???3r ?????REG ???????????????8,3 ?????????0 ??33575498 /root/oldboy.txt
[root@oldboyedu-lnb ~]# lsof |grep oldboy.txt
?
?
因為文件沒有被徹底刪除 導致的磁盤空間不足
徹底刪除
1.硬鏈接為0 (rm )
2.進程調用數為1 (重啟服務)
?
模擬:
seq 5000000 /var/log/messages
排查流程:
# df -h
/dev/sda3 ???????19G ??14G ?5.6G ?71% /
?
#找出并刪除? du -sh /*|grep G
\rm -f /var/log/messages
?
#找出誰使用 messages 并重啟服務
lsof命令:查看系統正在打開的文件
# lsof?|?grep messages
# systemctl restart rsyslog.service ?重新啟動。。。服務
?
?
2.2?parted 磁盤分區命令
?
parted ?/dev/sdc
?
?
mktable (mklabel) 創建磁盤分區表
mktable gpt
p ???????print ???顯示磁盤分區信息
mkpart ?(make partition) 創建分區
rm ????????????????刪除分區
q ???????quit ?????退出
?
Error: /dev/sdc: unrecognised disk label
??????????????????無法識別的 ?磁盤 分區表
?
(parted) mktable gpt ?????????????????????????????????????????????????????
(parted) mkpart primary ?0 30 ??????????????????????????????????????????????????????
(parted) mkpart primary ?30 60
?
?
?
parted ?/dev/sdc mktable gpt
parted ?/dev/sdc mkpart ??primary ?0 30 ignore
parted ?/dev/sdc mkpart ??primary ?30 60
?
第3章??企業案例:java環境內存不夠用,大量占用swap
?
# free -h
??????????????total ???????used ???????free ?????shared ?buff/cache ??available
Mem: ?????????1.9G ???????93M ??????1.7G ??????9.6M ??????135M ??????1.7G
Swap: ????????999M ????????0B ??????999M
?
?第1個里程碑-創建大文件 200M文件
??dd ?if=/dev/zero ????of=/tmp/200m ?????bs=1M ????????count=200
??????input file ???????output file ????????block size
??????數據來源 ???????輸出文件 ?????每次復制多大 ???????次數
?
/dev/zero ????白洞 源源不斷輸出
/dev/null ????黑洞 吸收
/dev/urandom 隨機字符
?
[root@oldboyedu-lnb ~]# chmod 600 /tmp/200m 更改權限
[root@oldboyedu-lnb ~]# ll -h /tmp/200m
-rw------- 1 root root 200M Nov 27 09:59 /tmp/200m
?
?第2個里程碑-變成swap
?[root@oldboyedu-lnb ~]# file /tmp/200m
/tmp/200m: data
[root@oldboyedu-lnb ~]# mkswap /tmp/200m
Setting up swapspace version 1, size = 204796 KiB
no label, UUID=3ac01af7-5235-4a47-8732-8fe224756cb5
[root@oldboyedu-lnb ~]# file /tmp/200m
/tmp/200m: Linux/i386 swap file (new style), version 1 (4K pages), size 51199 pages, no label, UUID=3ac01af7-5235-4a47-8732-8fe224756cb5
?
第3個里程碑-激活swap ?與 ?永久激活swap
[root@oldboyedu-lnb ~]# swapon ?/tmp/200m
[root@oldboyedu-lnb ~]# free -h
??????????????total ???????used ???????free ?????shared ?buff/cache ??available
Mem: ??????????1.9G ????????93M ???????1.5G ???????9.6M ???????346M ???????1.7G
Swap: ?????????1.2G ?????????0B ???????1.2G
?
顯示swap的組成情況 ?
?swapon -s
[root@oldboyedu-lnb ~]# swapon -s
Filename Type Size Used Priority
/dev/sda2 ????????????????????????????? partition 1023996 0 -1
/tmp/200m ????????????????????????????? file 204796 0 -2
?
永久激活swap
方法1 /etc/rc.local
swapon ?/tmp/200m ?
???
方法2 ?/etc/fstab
#/dev/sdb1 ???????????????????????/data ??????????????????xfs ????defaults ???????0 0
#/tmp/200m ??????????????????????swap ?????????????????swap ???defaults ???????0 0
?
文件系統 ?存放和管理數據方式
windows: fat32 ?單個文件最大不能超過4G
?????????ntfs(現在大多數)
?exFAT(給優盤使用)
?
Linux ?: xfs(CentOS 7默認)
?????????ext4(C6)
?ext3(C5)
?ReriserFS(SUSE)
?????????swap (交換分區)
?
?大話存儲
?浪潮之巔
轉載于:https://www.cnblogs.com/59111618qq/p/10063957.html
總結
- 上一篇: 微信下重拳:上万个群被封杀 此类行为千万
- 下一篇: druid 加密