PV ( Physical Volume,物理卷)
VG ( Volume Group,卷组)
LV ( Logical Volume,逻辑卷)
功能 | 物理卷管理 | 卷组管理 | l逻辑卷管理 |
---|---|---|---|
Scan扫描 | pvscan | vgscan | lvscan |
Create建立 | pvcreate | vgcreate | lvcreate |
Display显示 | pvdisplay | vgdisplay | lvdisplay |
Remove删除 | pvremove | vgremove | lvremovr |
Extend扩展 | vgextend | lvextend | |
Reduce减少 | vgreduce | lvreduce |
主要命令: pvcreate 设备名1 [设备名2 ... ...](设备可以是分区,可以是硬盘) vgcreate卷组名 物理卷名1 物理卷名2(物理卷可以是一个,可以是多个) lvcreate -n 逻辑卷名 -L 容量大小(友好的方式GMK) 卷组名(从哪个卷组里取 ) lvextend -L +大小 /dev/卷组名/逻辑卷名 扩容后刷新文件系统命令 xfg_growfs /dev/vgname1/lvname1 //刷新xfs文件系统容量 resize2fs /dev/vgname1/lvname1 //刷新ext4类型文件系统容量
新建LVM
添加硬盘 刷新硬盘 echo "- - - "> /sys/class/scsi_host/host0/scan echo "- - - "> /sys/class/scsi_host/host1/scan echo "- - - "> /sys/class/scsi_host/host2/scan lsblk #查看 fdisk /dev/sdb #创建拓展分区 n 新建 +10G t 选8e w 保存 lsblk 查看 pvcreate /dev/sdb1 /dev/sdc #把磁盘转成物理卷 vgcreate vg01 /dev/sdb1 /dev/sdc #创建卷组加入物理卷 lvcreate -L 25G -n ky18 vg01 #创建逻辑卷 -L是指逻辑卷大小 -l pe数量 -n逻辑卷名称 vg01代表从哪个卷组中取pe容量 mkfs.xfs /dev/vg01/ky18 #文件系统 mkdir /data1 #新建 mount /dev/vg01/ky18 /data1 # 挂载 df /dev/mapper/vg01-ky18 26201600 32944 26168656 1% /data1
partprobe 刷新分区列表
拓展容量
vg里面的空间是否够使用,如果不够就要加物理卷到卷组中 拓展逻辑卷 fdisk /dev/sdb 创建一个分区 pvcreate /dev/sdb2 vgextend vg01 /dev/sdb2 lvextend -L +10G /dev/vg01/ky18 xfs_growfs /data1 刷新新加的空间
磁盘配额(Quota)就是 Linux 系统中用来限制特定的普通用户或用户组在指定的分区上占用的磁盘空间或文件个数的。
在此概念中,有以下几个重点需要注意:
磁盘配额就好像我们出租写字楼,虽然整栋楼的空间非常大,但是酬整栋楼的成本太高。我们可以分开出租,用户如果觉得不够用,则还可以租用更大的空间。不过租用是不能随便进行的,其中有几个规矩必须遵守:
磁盘配额要想正常使用,有以下几个前提条件:
我们除了可以通过限制用户可用的 block 数量来限制用户可用的磁盘容量,也可以通过限制用户可用的 inode 数量来限制用户可以上传或新建的文件个数。
软限制可理解为警告限制,硬限制就是真正的限制了。比如,规定软限制为 100MB,硬限制为 200MB,那么,当用户使用的磁盘空间为 100~200MB 时,用户还可以继续上传和新建文件,但是每次登录时都会收到一条警告消息,告诉用户磁盘将满。
手动挂载添加相关选项
CentOS7中设置磁盘配额步骤 1、检查是否已安装xfsprogs和xfs_ quota软件包 rpm -q xfsprogs quota yum install -y xfsprogs quota [root@localhost ~]# mount -o remount usrquota,grpquota /dev/sdb1 /mnt #添加磁盘配额属性 手动添加的方式,会在下次重新挂载时消失,因此我们可以直接修改 /etc/fstab 文件,将挂载参数写入到配置文件中,这样,即便重新挂载也不会消失, [root@www ~]# vim /etc/fstab /dev/sdb1 /mnt xfs defaults,usrquota,grpquota 0 0 [root@www ~]# mount -a [root@localhost ~]#xfs_quota -x -c 'limit -u bsoft=80M bhard=100M isoft=40 ihard=50 lisi' /opt/ -x:表示启动专家模式,在当前模式下允许对配额系统进行修改的所有管理命令可用。 -c: 表示直接调用管理命令。 -u: 指定用户账号对象 -g: 指定组账号对象 bsoft: 设置磁盘容量的软限制数值(默认单位为KB)。 bhard:设置磁盘容量的硬限制数值(默认单位为KB)。 isoft:设置磁盘文件数的软限制数值。 ihard:设置磁盘文件数的硬限制数值。 xfs_ quota -x -c 'limit -u bsoft=80M bhard=100M lisi' /opt/ #仅限制磁盘容量 xfs quota -x -c 'limit -u isoft=4 ihard=5 lisi' /opt/ #仅限制文件数 xfs_ quota -C 'quota -uv lisi' /opt/ #查看zhangsan磁盘:容量限制 xfs quota -c 'quota -i -uv lisi' /opt/ #查看zhangsan文件数限制 验证磁盘配额功能 chmod 777 /opt Su lisi cd /opt #验证磁盘容量超限 dd if=/dev/zero of=/opt/kgc.txt bs=1OM count=12 #验证磁盘文件数超限 touch {aa,bb, cc,dd,ee, ff} .txt dd命令是一一个设备转换和连续复制命令 “if=” 指定输入设备(或文件) "of="指定输出设备(或文件) "bs=" 指定读取数据块的大小 "count=”指定读取数据块的数量 /dev/zero “零"设备文件,可以无限的提供空字符。常用来生成-一个特定大小的文件。 5、查看配额使用情况 #查看所有可用分区的磁盘容量配额使用情况 xfs_ quota - X -C ' report -abih' 查看磁盘配额 report常用选项: -u:对用户查看 -g:对组查看 -a:查看所有可用分区的配额使用报告 -b:查看磁盘容量 -i:查看文件数 取消设置 [root@localhost ~]#xfs_quota -x -c 'disable -up' /data xfs_quota -x -c "disable -up" /data/ #暂时取消 xfs_quota -x -c "off -up" /data/ #需要重新挂载,完全关闭 xfs_quota -x -c "remove -p" /data/ #移除设置 需要在off状态下
[root@localhost ~]# xfs_quota -x -c 'limit -u bsoft=20M bhard=30M isoft=5 ihard=6 zhangsan' /opt/log/ [root@localhost ~]# chmod 777 /opt/log/ [root@localhost ~]# su zhangsan [zhangsan@localhost log]$ touch file{1..10}.txt touch: 无法创建"file7.txt": 超出磁盘限额 touch: 无法创建"file8.txt": 超出磁盘限额 touch: 无法创建"file9.txt": 超出磁盘限额 touch: 无法创建"file10.txt": 超出磁盘限额 [zhangsan@localhost log]$ ls file1.txt file2.txt file3.txt file4.txt file5.txt file6.txt [zhangsan@localhost log]$ dd if=/dev/zero of=/opt/log/test.txt bs=1M count=20 记录了20+0 的读入 记录了20+0 的写出 [zhangsan@localhost log]$ dd if=/dev/zero of=/opt/log/test1.txt bs=1M count=20 dd: 写入"/opt/log/test1.txt" 出错: 超出磁盘限额 记录了11+0 的读入 记录了10+0 的写出 10485760字节(10 MB)已复制,0.00546079 秒,1.9 GB/秒 [zhangsan@localhost log]$ touch file{1..10}.txt touch: 无法创建"file1.txt": 超出磁盘限额 touch: 无法创建"file2.txt": 超出磁盘限额 touch: 无法创建"file3.txt": 超出磁盘限额 touch: 无法创建"file4.txt": 超出磁盘限额 touch: 无法创建"file5.txt": 超出磁盘限额 touch: 无法创建"file6.txt": 超出磁盘限额 touch: 无法创建"file7.txt": 超出磁盘限额 touch: 无法创建"file8.txt": 超出磁盘限额 touch: 无法创建"file9.txt": 超出磁盘限额 touch: 无法创建"file10.txt": 超出磁盘限额 [zhangsan@localhost log]$ ls test1.txt test.txt [zhangsan@localhost log]$ rm -rf * [zhangsan@localhost log]$ touch file{1..10}.txt touch: 无法创建"file7.txt": 超出磁盘限额 touch: 无法创建"file8.txt": 超出磁盘限额 touch: 无法创建"file9.txt": 超出磁盘限额 touch: 无法创建"file10.txt": 超出磁盘限额 [zhangsan@localhost log]$ ls file1.txt file2.txt file3.txt file4.txt file5.txt file6.txt