一、 配 额
超级用户
[root@localhost ~]# fdisk /dev/vdb #新建一个分区
[root@localhost ~]# mkfs.xfs /dev/vdb1 #格式化
[root@localhost ~]# mount -o usrquota /dev/vdb1 /mnt
[root@localhost ~]# chmod 777 /mnt #加满权限,确保student可以对其操作。
[root@localhost ~]# edquota -u student #给student用户划分配额
Disk quotas for user student (uid 1000):
Filesystem blocks soft hard inodes soft hard
/dev/vdb1 0 0 20480 0 0 0
blocks (student用户已经有的配额)
Soft (软件限制)
Hard (硬件限制)
Inodes (配额个数)
Soft (建立几个文件会受到警告)
Hard (最多建立几个文件)
Filesystem blocks soft hard inodes soft hard
/dev/vdb1 0 0 20480 0 0 0
blocks (student用户已经有的配额)
Soft (软件限制)
Hard (硬件限制)
Inodes (配额个数)
Soft (建立几个文件会受到警告)
Hard (最多建立几个文件)
学生用户
[root@localhost ~]# su - student
[student@localhost ~]$ dd if=/dev/zero of=/mnt/studentfile bs=1M count=10
10+0 records in
10+0 records out
10485760 bytes (10 MB) copied, 0.00502124 s, 2.1 GB/s #划分10M,成功!
[student@localhost ~]$ dd if=/dev/zero of=/mnt/studentfile bs=1M count=20
20+0 records in
20+0 records out
20971520 bytes (21 MB) copied, 0.320449 s, 65.4 MB/s #划分20M,成功!
[student@localhost ~]$ dd if=/dev/zero of=/mnt/studentfile bs=1M count=30
dd: error writing ‘/mnt/studentfile’: Disk quota exceeded
21+0 records in #划分30M,超过配额大小,失败!
20+0 records out
20971520 bytes (21 MB) copied, 0.0178267 s, 1.2 GB/s
#划分10M,成功!
[student@localhost ~]$ dd if=/dev/zero of=/mnt/studentfile bs=1M count=20
20+0 records in
20+0 records out
20971520 bytes (21 MB) copied, 0.320449 s, 65.4 MB/s #划分20M,成功!
[student@localhost ~]$ dd if=/dev/zero of=/mnt/studentfile bs=1M count=30
dd: error writing ‘/mnt/studentfile’: Disk quota exceeded
21+0 records in #划分30M,超过配额大小,失败!
20+0 records out
20971520 bytes (21 MB) copied, 0.0178267 s, 1.2 GB/s
dd if=/dev/zero of=/mnt/studentfile bs=1M count=30
# 截取 设备 无限0设备 复制文件到 一块为1M 个数
##限额是针对设备的
##以上的配额修改时暂时的,系统重启后会消失,如需开机自启则应该在root用户下在/etc/fstab中加入
/dev/vdb1 /mnt xfs defaults,usrquota 0 0
#激活配置(usrquota)文件
二、LVM(逻辑卷)建立
Pv 物理卷(被处理的物理分区)
Vg 物理卷组
Pe 物理扩展,最小的存储单元
lvm 逻辑卷,pe的整数倍
步 骤 :
#新建三个分区将其id改为8e
[root@localhost ~]# fdisk /dev/vdb
Command (m for help): t
Partition number (1-3, default 3): 3
Hex code (type L to list all codes): 8e
Changed type of partition 'Linux' to 'Linux LVM'
Command (m for help): p
Disk /dev/vdb: 10.7 GB, 10737418240 bytes, 20971520 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x56e7de1f
Device Boot Start End Blocks Id System
/dev/vdb1 2048 2099199 1048576 8e Linux LVM
/dev/vdb2 2099200 4196351 1048576 8e Linux LVM
/dev/vdb3 4196352 6293503 1048576 8e Linux LVM
watch -n 1 'pvs;vgs;lvs;df -h /mnt' #监控命令
/dev/vdb1 2048 2099199 1048576 8e Linux LVM
/dev/vdb2 2099200 4196351 1048576 8e Linux LVM
/dev/vdb3 4196352 6293503 1048576 8e Linux LVM
watch -n 1 'pvs;vgs;lvs;df -h /mnt' #监控命令
[root@localhost ~]# pvcreate /dev/vdb1 #新建一个pv分区
WARNING: xfs signature detected on /dev/vdb1 at offset 0. Wipe it? [y/n] y
Wiping xfs signature on /dev/vdb1.
Physical volume "/dev/vdb1" successfully created.
[root@localhost ~]# vgcreate vg0 /dev/vdb1 #新建一个vg0
Volume group "vg0" successfully created
[root@localhost ~]# lvcreate -L 300M -n lv0 vg0 #新建一lv0并把vg0的300M放入
Logical volume "lv0" created
Xfs文件系统的扩展
[root@localhost ~]# mkfs.xfs /dev/vg0/lv0 #格式化为xfs文件系统
[root@localhost ~]#mount /dev/vg0/lv0 /mnt #挂载到/mnt,和/dev/mapper/vg0-lv0相同。
[root@localhost ~]#lvextend -L 500M /dev/westos/lv0 #将lv0的容量扩展到500M,但此时挂载再/mnt上的设备还是300M,因为新加的200M没有格式化。
[root@localhost ~]#xfs_growfs /dev/westos/lv0 #将挂载设备的容量直接扩展为500M 。
[root@localhost ~]#pvcreate /dev/vdb2 #新建一个pv分区
[root@localhost ~]#vgextend /dev/vdb2 #将新建的pv分区容量加在vg0上。
[root@localhost ~]#lvextend -L 1500M /dev/westos/lv0 #将lv0的容量扩展到1500M
## xfs文件系统只可以扩展不可以压缩 !
Ext4文件的扩展
[root@localhost ~]# umount /mnt
[root@localhost ~]# mkfs.ext4 /dev/vg0/lv0 #将/dev/vg0/lv0格式化为ext4(第四代扩展文件系统),xfs(64为文件系统)
[root@localhost ~]# lvextend -L 1600M /dev/vg0/lv0 #xfs文件系统只可以扩展不可以压缩,但是ext4文件系统既可以扩展又可以压缩。
[root@localhost ~]# resize2fs /dev/vg0/lv0 #将挂载设备的容量直接扩展为1600M 。
Ext4文件系统的缩减
[root@localhost ~]# umount /mnt #卸载
[root@localhost ~]# e2fsck -f /dev/vg0/lv0 #扫描
[root@localhost ~]# resize2fs /dev/vg0/lv0 600M #缩减文件系统到1000M。
[root@localhost ~]# mount /dev/vg0/lv0 /mnt #挂载
[root@localhost ~]# lvreduce -L 500M /dev/vg0/lv0 #缩减设备到1000M。
WARNING: Reducing active and open logical volume to 500.00 MiB
THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce lv0? [y/n]: y
Reducing logical volume lv0 to 500.00 MiB
Logical volume lv0 successfully resized
移除物理卷
1.将物理卷信息拷贝到空闲物理卷上
[root@localhost ~]#pvmove /dev/vdb1 /dev/vdb2 #将vdb1设备内数据移出到vdb2中
[root@localhost ~]#vgreduce vg0 /dev/vdb1 #移除掉vg0中的/dev/vdb1
[root@localhost ~]#pvremove /dev/vdb1 #移除/dev/vdb1.
[root@localhost ~]#pvs #查看pv物理卷信息
LVM快照
[root@localhost ~]#touch /mnt/westos{1..7}
[root@localhost ~]#umount /mnt
[root@localhost ~]#ls /mnt
[root@localhost ~]# lvcreate -L 50M -n lv0backup -s /dev/vg2/lv2 #生成/dev/vg0/lv0快照名为lv0backup大小为50M。
[root@localhost ~]#mount /dev/vg0/lv0backup /mnt #直接挂载,不用格式化
[root@localhost ~]#cd /mnt
[root@localhost ~]#ls
删除lvm
[root@localhost ~]#lvremove /dev/vg0/lv0backup #移除快照
[root@localhost ~]#lvremove /dev/vg0/lv0 #移除lv0
[root@localhost ~]#vgremove vg0 #移除vg0
[root@localhost ~]#pvremove /dev/vdb{1..2} #移除pv