df:查看文件系统的使用情况
第一列代表分区,第二列代表分区大小,第三列表示已使用空间,第四列表示已用空间,第五列表示已用百分比,第六列表示挂载点。
-h:根据磁盘大小适当显示单位
-i:查看inode使用情况,当inode满了,即使磁盘空间有剩余,也无法写入
-m:使用MB为单位进行查看
free:查看内存使用情况
du:查看文件大小
使用du -sh /root或1.txt查看文件或目录的大小,不加-h默认大小以k为单位,du命令查出的文件最小为4k(默认会占用一个块,大小为4kb)
但使用du -sb或ls -sh可以查看文件或目录的实际大小
磁盘分区(MBR最多支持2T的磁盘分区,最多只能有四个主分区)
使用fdisk -l命令查看系统所有磁盘信息
可以看到一个已经分好区的sda磁盘和一个并未分区的sdb磁盘
使用fdisk /dev/sdb对磁盘进行分区(MBR或叫msdos,另外还有一种GPT格式分区)
分区分为主分区、扩展分区、逻辑分区,主分区和扩展分区的总和不能超过四个,逻辑分区编号必须从5开始,且往后的按数字顺序进行创建,扩展分区不能直接写入数据,它作为逻辑分区的载体,写入文件只能在主分区或逻辑分区中进行)
-n创建一个分区
-p打印分区情况
-w保存分区情况
-q不保存退出
-d删除分区
p创建一个主分区,e创建一个扩展分区,如图创建了三个主分区,一个扩展分区
此时再新增分区,只能创建逻辑分区
分完区后,选n进行保存,然后使用fdisk -l查看分区情况
GPT分区(parted命令)
parted /dev/sdb,p打印信息,rm 1,2(序列号)删除分区,mklabel gpt,mkpart panqi 0 2G,使用1忽略
mkpart panqi1 2G 3G,quit保存退出,parted /dev/sdb print查看信息
磁盘格式化:
cat /etc/filesystems查看默认的文件系统,centos7默认的文件系统是xfs
使用mount命令可以查看挂载点的文件系统
使用命令mke2fs -t ext4:不支持xfs,对磁盘格式化,即设置文件系统,如果不指定-t则默认文件系统为ext2
-t 指定文件系统
-b块大小
-m指定预留的空间大小(1表示百分之一)
-i指定多少个字节对应一个inode(-i 8192)
mkfs.xfs -f可以强制将已经变为ext4的/dev/sdb转换为xfs格式
blkid /dev/sdb查看分区的文件系统,不对磁盘分区,也可以直接格式化
磁盘挂载(必须挂载,才能在磁盘写入内容)
使用mount /dev/sdb /mnt 将sdb挂载到/mnt下
然后进入/mnt目录,就可以正常写入数据了。
使用umount /dev/sdb1 或umount /mnt进行卸载-l(lazy) 不用退出挂载目录
挂载的配置文件位于:/etc/fstab
手动增加swap空间
当我们装系统是给的交换分区不够用或本来服务器本来就无swap分区时,我们可以手动去增加swap分区
1、创建swap文件并启用,使用命令
dd if=/dev/zero of=/tmp/swapdisk bs=1M count=1024,/dev/zero是一个特殊设备,可以无限生成字符 0 ,这条命令是可以生成一个1G的swap交换文件
dd操作磁盘,if指定从哪里读,of写到哪里去,bs指定每个块的大小,count表示数量
2、设置swap文件的文件系统,使用命令mkswap /tmp/swapdisk
3、设置swap文件的权限为0600,使用命令chmod 0600 /tmp/swapdisk
4、启用swap文件,使用命令swapon /tmp/swapdisk(卸载使用命令swapoff /tmp/swapdisk)
5、使用free -m查看是否成功添加
dd实际案例(测试硬盘读写速度、备份硬盘)---https://blog.csdn.net/daiyudong2020/article/details/53157558
LVM:逻辑盘卷管理(Logical Volume Manager)
它是对磁盘分区进行管理的一种机制,建立在硬盘和分区之上的一个逻辑层,无需脱机的动态进行扩容或缩容,提高磁盘管理的灵活性
1、准备磁盘分区
检查系统是否安装了LVM软件,使用命令yum provides "/*/pvcreate"查看命令属于哪个包
2、使用pvcreate /dev/sdb1,pvcreate /dev/sdb2,pvcreate /dev/sdb3创建三个物理卷
使用pvdisplay或pvs查看pv的信息,可以使用pvremove命去删除一个物理卷
3、创建卷组:使用命令vgcreate panqi /dev/sdb1 /dev/sdb2 /dev/sdb3,创建一个名为panqi的卷组,pe大小一个为4M
(vgremove:删除一个卷组)
4、创建逻辑卷
命令:lvcreate -L 100M -n lv_name vg_name #-L 指定逻辑卷大小,-n指定逻辑卷名,最后为卷组名,使用查看创建的逻辑卷,lvdisplay瞎看详细信息,lvs查看简单信息
5、格式化逻辑卷
将逻辑卷格式化为ext4文件系统,使用命令mkfs.ext4 /dev/vg1/lv1
6、挂载逻辑卷
7、扩容
1:卸载需要扩容的分区。
[root@long01 ~]# umount /dev/vg1/lv1
[root@long01 ~]# df -h /lvmdev/
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 17G 3.8G 14G 23% / #卸载逻辑卷后挂载点就变成了/
- 置逻辑卷大小:lvresize
[root@long01 ~]# lvresize -L 200M /dev/vg1/lv1 #lvresize是重新设置逻辑卷大小的命令。-L指定新的磁盘大小。
Size of logical volume vg1/lv1 changed from 100.00 MiB (25 extents) to 200.00 MiB (50 extents).
Logical volume vg1/lv1 successfully resized.
3:检查磁盘错误:
[root@long01 ~]# e2fsck -f /dev/vg1/lv1
e2fsck 1.42.9 (28-Dec-2013)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
/dev/vg1/lv1: 11/25688 files (9.1% non-contiguous), 8896/102400 blocks
4:更新逻辑卷信息
[root@long01 ~]# resize2fs /dev/vg1/lv1
resize2fs 1.42.9 (28-Dec-2013)
Resizing the filesystem on /dev/vg1/lv1 to 204800 (1k) blocks.
The filesystem on /dev/vg1/lv1 is now 204800 blocks long.
5:重新挂载
[root@long01 ~]# mount /dev/vg1/lv1 /lvmdev
[root@long01 ~]# df -h /lvmdev/
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vg1-lv1 190M 1.6M 175M 1% /lvmdev
##挂载后可以看到分区大小变为了200M
8、缩容
1:先卸载lvm逻辑卷
[root@long01 ~]# umount /dev/vg1/lv1
2:检查磁盘错误
[root@long01 ~]# e2fsck -f /dev/vg1/lv1
e2fsck 1.42.9 (28-Dec-2013)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
/dev/vg1/lv1: 11/49400 files (9.1% non-contiguous), 11884/204800 blocks
3:更新逻辑卷信息
[root@long01 ~]# resize2fs /dev/vg1/lv1 100M #更新逻辑的大小信息为100M
resize2fs 1.42.9 (28-Dec-2013)
Resizing the filesystem on /dev/vg1/lv1 to 102400 (1k) blocks.
The filesystem on /dev/vg1/lv1 is now 102400 blocks long.
4:重新设置逻辑卷大小
[root@long01 ~]# lvresize -L 100M /dev/vg1/lv1
WARNING: Reducing active logical volume to 100.00 MiB.
THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce vg1/lv1? [y/n]: y
Size of logical volume vg1/lv1 changed from 200.00 MiB (50 extents) to 100.00 MiB (25 extents).
Logical volume vg1/lv1 successfully resized.
###警告提示的是操作将会把逻辑卷改为100M,可能会导致数据丢失,是否继续。
##输入y继续,输入n会取消操作。
5:再重新挂载
[root@long01 ~]# mount /dev/vg1/lv1 /lvmdev/
[root@long01 ~]# df -h /dev/vg1/lv1
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vg1-lv1 93M 1.6M 85M 2% /lvmdev
XFS扩容:
注意:xfs扩容不需要卸载分区,xfs不支持缩容操作
1:创建一个200M逻辑卷
[root@long01 ~]# lvcreate -L 200M -n lv2 vg1
Logical volume "lv2" created.
[root@long01 ~]# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
lv1 vg1 -wi-ao---- 100.00m
lv2 vg1 -wi-a----- 200.00m
2:将lv2逻辑卷格式化为xfs格式
[root@long01 ~]# mkfs.xfs /dev/vg1/lv2
meta-data=/dev/vg1/lv2 isize=512 agcount=4, agsize=12800 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0, sparse=0
data = bsize=4096 blocks=51200, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal log bsize=4096 blocks=855, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
3:挂载lv2
[root@long01 ~]# mount /dev/vg1/lv2 /lvmdisk2
[root@long01 ~]# df -h /lvmdisk2
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vg1-lv2 197M 11M 187M 6% /lvmdisk2
4:重新设置逻辑卷大小
[root@long01 ~]# lvresize -L 300M /dev/vg1/lv2
Size of logical volume vg1/lv2 changed from 200.00 MiB (50 extents) to 300.00 MiB (75 extents).
Logical volume vg1/lv2 successfully resized.
5:更新xfs逻辑卷信息
[root@long01 ~]# xfs_growfs /dev/vg1/lv2
meta-data=/dev/mapper/vg1-lv2 isize=512 agcount=4, agsize=12800 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0 spinodes=0
data = bsize=4096 blocks=51200, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal bsize=4096 blocks=855, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
data blocks changed from 51200 to 76800
[root@long01 ~]# df -h /lvmdisk2/
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vg1-lv2 297M 11M 287M 4% /lvmdisk2
####更新后逻辑卷的大小就为300M了。
10:扩容卷组
命令格式:vgextend vg_name pv_name #vg_name:卷组名,pv_name:物理卷路径
[root@long01 ~]# vgextend vg1 /dev/sdb3
Physical volume "/dev/sdb3" successfully created.
Volume group "vg1" successfully extended
[root@long01 ~]# vgs
VG #PV #LV #SN Attr VSize VFree
vg1 3 2 0 wz--n- <2.99g <2.60g
###vgs命令第一列为卷组名,第二列为物理卷数量,第三列为卷组下逻辑卷的数量。
raid(避免数据丢失)--详细讲解资料
0:没有数据冗余,没有数据校验 1:存在备份硬盘,空间使用率低 5:至少三块硬盘,每个硬盘要做奇偶校验,最多坏一块硬盘 6:至少四块硬盘,每个硬盘要做奇偶校验,最多坏两块硬盘
扩展知识:
raid讲解 :https://blog.csdn.net/caipeichao2/article/details/52661825
dd测试磁盘性能:https://blog.csdn.net/daiyudong2020/article/details/53157558
dd备份硬盘数据:http://zuyunfei.com/2015/06/04/linux-dd/
阿里云磁盘扩容文档:https://help.aliyun.com/document_detail/25452.html
parted分区gpt格式:http://www.apelearn.com/bbs/thread-7243-1-1.html
存储与服务器的连接方式:https://blog.csdn.net/JesseYoung/article/details/38367217
LVM详解:http://lzw.me/a/linux-lvm.html