我正在寻找一种工具来扫描我的无 GUI 服务器并以丰富的视觉格式(html、pdf、svg、png……)创建所有块设备及其关系(磁盘分区、mdadm 设备、LVM PV 和 LV 等)的易于理解的粗略概述。
这是一个简单的可视化示例:
+--------+---------------------+ +-------------------+
| sda1 | | | sdc1 |
+--------+---------------------+ +-------------------+
+ + +
+--------+---------------------+ +-------------------+
| sdb1 | | | sdd1 |
+--------+---------------------+ +-------------------+
| | |
v v v
+---+---+ +---------+----------+ +--------+----------+
| md0 | | md1 | | md2 |
+-------+ +---------+----------+ +--------+----------+
| /boot | \ /
ext4 \ /
\ /
+
|
v
+------------------------------------------+
| vgmain |
+------+-----------------+-----------------+
|/root | /home | /var |
ext4 btrfs ext4
我不需要详细信息(我可以从 CLI 工具中获取lsbls
,例如fdisk
,,,,,)mdadm
pvdisplay
lvdisplay
df
答案1
这里你最好的朋友是一个简单的lsblk
命令。它将给你类似这样的输出:
[root@somehost ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
vda 252:0 0 7.8G 0 disk
├─vda1 252:1 0 6.9G 0 part /
└─vda2 252:2 0 999M 0 part [SWAP]
欲了解更多信息,请阅读其出色的手册页
答案2
也许您已经使用过它,但是该du
命令可以使用参数--max-depth=1
来了解已用空间在文件系统树中的分布情况,例如:
root@server:/# du --max-depth=1 -h .|sort -h
0 ./dev
0 ./proc
0 ./sys
4.0K ./boot
4.0K ./lib64
4.0K ./media
4.0K ./srv
28K ./tmp
5.0M ./etc
5.1M ./sbin
9.9M ./bin
30M ./home
33M ./run
44M ./lib
1.2G ./var
1.4G ./opt
2.1G ./usr
3.9G ./root
8.6G .
通过这种方式,您可以直观地识别大多数数据的位置,更改到该目录并递归地重用该du
命令来查找可以释放某些数据的位置。