磁盘常用命令
lsblk
df(英文全拼:disk free)
命令用于显示目前在 Linux 系统上的文件系统磁盘使用情况统计。
-h, --human-readable:以人类可读的格式显示输出结果。
-i, --inodes:显示 inode 使用情况而不是块使用情况。
-T, --print-type:显示文件系统的类型。
du (英文全拼:disk usage)
命令用于显示目录或文件的大小。
-h或--human-readable
-s或--summarize 仅显示指定目录或文件的总大小,而不显示其子目录的大小。
du -sh /ocs和 du -sh /ocs/* 分别查看目录使用空间和各个子目录使用空间
利用fdisk分区与挂载
fdisk /dev/nvme0n1
n/p/e/+1G
mkfs.xfs /dev/nvme0n1p3(56)
mount /dev/nvme0n1p3 /root/new
vi /etc/fstab
(add "/dev/nvme0n1p3 /root/new xfs defaults 0 0")
LVM基本创建
use "fisk" create new partition
change the partition to "LVM"(8e)
pvcreate /dev/nvme0n1p3
pvcreate /dev/nvme0n1p5
pvcreate /dev/nvme0n1p6
vgcreate vg01 /dev/nvme0n1p3 /dev/nvme0n1p5 /dev/nvme0n1p6
lvcreate -L 1g -n lvnew vg01
mkfs.xfs /dev/vg01/lvnew
...
条带化: 创建LV时加入-i参数
LVM基本扩容
use "fisk" create new partition
pvcreate /dev/nvme0n1p7
vgextend vg00 /dev/nvme0n1p7
lvextend -L +9.9G /dev/mapper/vg00-lvoracle
或者
lvextend -l+100%FREE /dev/mapper/vg00-lvoracle
xfs_growfs /dev/mapper/vg00-lvoracle
SWAP扩容
swapoff 分区名/LV名(卸)
对SWAP所在的文件系统扩容
mkswap 分区名/LV名
swapon 分区名/LV名(挂)
案例
1、如何分析处理当前目录下有哪些大的文件?
1,ls -al 确保没有隐藏文件
2,du -sh /test和 du -sh /test/* 分别查看目录使用空间和各个子目录使用空间。
3. lsof /test查看是否有某个进程使用的已删除的大文件,如果有kill掉进程
2、创建新文件时候,遇到如下报错可能的原因?
touch:cannot touch `test.txt‘: No space left on device
block不足,可以通过df -h看到使用率100%
inode不足,可以通过df -i看到使用率 100%(小文件过多,索引不够)
这里提一下inode和block,在Linux系统中,文件由元数据和数据块组成。数据块就是多个连续性的扇区(sector),扇区是文件存储的最小单位(每个512字节)。块(block)的大小,最常见的是4KB,也就是连续8个sector组成,存储文件数据和目录数据。而元数据用来记录文件的创建者、创建日期、大小等,这种存储文件元数据信息的区域叫做inode,即索引节点。
由于inode也是用来存储文件相关属性信息的,所以也会消耗硬盘空间。具体包含的信息有inode号,文件的字节数、User ID、Group ID、读、写、执行权限、时间戳(共有三个:ctime指inode上一次变动的时间,mtime指文件内容上一次变动的时间,atime指文件上一次打开的时间)、链接数(软硬链接)、数据block的位置,注意没有文件名。
3、LVM扩容思路
lvs查看/test文件系统所在的lv使用的哪个vg
vgs查看是否还有剩余空间
pvs如果没有剩余空间,pvs查看是否还有未做PV的分区进行扩容
XFS和EXT4文件系统扩容
lvextend –L 20G /dev/vg00/lvtest
#xfs
xfs_growfs /dev/vg00/lvtest
#ext4
resize2fs /dev/vg00/lvtest 20G
4、条带化
把连续的数据分割成相同大小的数据块,把每段数据分别写入到阵列中的不同磁盘上,提升了存储性能。
LVM中用“-i 磁盘数量”指令
lvcreate –L 1500G -i 3 –n lvtest vg00
利用parted分区与挂载
parted /dev/sdb1
mklabel gpt
print
mkpart primary 0% 100%
quit
# Let the kernel know to add a new partition
partprobe
mkfs.xfs /dev/sdb1