这篇只讲怎么查询和统计,至于怎么分区,我也不会,回头我会了在写。
先修知识:介绍2种分区表:
MBR分区表:(MBR含义:主引导记录)
所支持的最大卷:2T (T; terabytes,1TB=1024GB)
对分区的设限:最多4个主分区或3个主分区加一个扩展分区。
GPT分区表:(GPT含义:GUID分区表)
支持最大卷:18EB,(E:exabytes,1EB=1024TB)
每个磁盘最多支持128个分区
所以如果要大于2TB的卷或分区就必须得用GPT分区表。
Linux下fdisk工具不支持GPT,得使用另一个GNU发布的强大分区工具parted。
fdisk工具用的话,会有下面的警告信息:
WARNING: GPT (GUID Partition Table) detected on '/dev/sda'! The util fdisk doesn't support GPT. Use GNU Parted.
首先,分配硬盘就是真的分配了。是多大就是多大。没得假。
但是比如用python 的命令计算
st = os.statvfs(“/”)
free = (st.f_bavail * st.f_frsize)
total = (st.f_blocks * st.f_frsize)
的时候会相对于 sudo fdisk -l 命令展示的所有物理硬盘容量少一些。
我的推测:注意是推测: 因为 系统会根据卷大小分配足额的。但是,因为linux系统会为root 权限 预留一部分空间
为的是当容量确实塞满了后,root 还可以进去操作,删掉一部分,让硬盘活起来,然后可以其他管理员可以操作。
也就是,其实应用管理员拿到的可用空间要比卷实际空间是小的。。。
所以如果是基础架构相关的同学还是用sudo fdisk -l 来获取真实容量,并用正则来拿到需要的真实数据
swap 分区在 df -TH 命令是找不到,这也是为什么容量会无故少一些。(系统本来就会默认一部分作为swap 卷,但是有的应用,
比如oracle 也会自己为自己分配一部分私有空间作为swap)
swap 名义上是内存不够用的时候采用分级缓存的作用,加快换入换出速度。
众所周知,现代操作系统都实现了“虚拟内存”这一技术,不但在功能上突破了物理内存的限制,使程序可以操纵大于实际物理内存的空间,更重要的是,“虚拟内存”是隔离每个进程的安全保护网,使每个进程都不受其它程序的干扰。
因为swap 已经是作为操作系统的一部分或者个别特殊应用的“私有”备用空间使用,所以,并不能算入所有人都可用卷空间里,所以不能显示。
如果想查看swap 空间大小 用:swapon -s 或者用 free -m (查看内存的,swap作为内存的一部分) 命令来查看。
lvm 系统里 也有,只是更名为lv_swap 或者其他名字的 一个特殊的卷。
一般习惯可设置的卷分为 /boot 、/ 、/swap (一般看不到) 、 /data
lvm 化后都会取上对应的名字和挂载点。
lvm 只做了vg 没有做分区 lv 就会有这个ubuntu--vg-root doesn't contain a valid partition table
查看ubuntu 版本:
cat /proc/version 查看
使用命令:lsb_release -a 查看