设为首页 收藏本站
查看: 154|回复: 0

[经验分享] ssm存储管理器和磁盘配额

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2015-12-15 08:15:47 | 显示全部楼层 |阅读模式
本节所讲内容:



LVM 创建的基本步骤
pvcreate    vgcreate   lvcreate

LVM查看
pvs     pvscan     pvdisplay
vgs     vgscan        vgdisplay
lvs      lvscan       lvdisplay

LVM缩减
1)首先创建lv
[iyunv@localhost ~]#vgcreate vg1 /dev/sdb{1,2}
[iyunv@localhost ~]# lvcreate-n lv1 -L 1.5G vg1
  Logical volume "lv1" created.

       lv缩减
[iyunv@localhost ~]# lvs
  LV  VG   Attr       LSize Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  root rhel -wi-ao---- 10.00g                                                   
  swaprhel -wi-ao----  2.00g                                                   
  lv1  vg1 -wi-a-----  1.50g                                                   
[iyunv@localhost ~]#lvreduce -L 1G  /dev/vg1/lv1
[iyunv@localhost ~]# lvs
  LV  VG   Attr       LSize Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  root rhel -wi-ao---- 10.00g                                                   
  swap rhel -wi-ao----  2.00g                                                   
  lv1 vg1  -wi-a-----  1.00g      

       vg缩减

注:缩减时,可以不卸载正在使用中的LV。另外,只能缩减没有被使用的pv。否则会提示以下内容:
[iyunv@localhost ~]#vgreduce vg1 /dev/sdb1
  Physical volume "/dev/sdb1" stillin use

在缩减之前可以查看要缩减的设备是否被使用
[iyunv@localhost ~]# pvs
  PV        VG   Fmt  Attr PSize   PFree   
  /dev/sda2 rhel lvm2 a--    12.00g    4.00m
  /dev/sdb1 vg1  lvm2 a--  1020.00m      0
  /dev/sdb2 vg1  lvm2 a--  1020.00m 1016.00m
/dev/sdb3 vg1  lvm2 a--  1020.00m 1020.00m


[iyunv@localhost ~]#vgreduce vg1 /dev/sdb3
  Removed "/dev/sdb3" from volumegroup "vg1"

LVM删除
删除之前必须把设备进行卸载,否则会产生以下错误
[iyunv@localhost ~]#lvremove /dev/vg1/lv1
  Logical volume vg1/lv1 contains a filesystemin use.

       删除lv
[iyunv@localhost ~]#lvremove /dev/vg1/lv1
Do you really want toremove active logical volume lv1? [y/n]: y
  Logical volume "lv1" successfullyremoved
       删除vg
[iyunv@localhost ~]#vgremove vg1
  Volume group "vg1" successfullyremoved
       删除pv
[iyunv@localhost ~]#pvremove /dev/sdb1
  Labels on physical volume"/dev/sdb1" successfully wiped


LVM快照

首先创建一个lv
[iyunv@localhost ~]#vgcreate vg1 /dev/sdb{1,2}
[iyunv@localhost ~]#lvcreate -n lv1 -L 1.5G vg1
  Logical volume "lv1" created.

格式化lv并进行挂载
[iyunv@localhost ~]#mkfs.xfs  /dev/vg1/lv1
[iyunv@localhost ~]#mount /dev/vg1/lv1  /lv1/
[iyunv@localhost ~]# cp/etc/passwd  /lv1/
[iyunv@localhost ~]# ls/lv1/
passwd

[iyunv@localhost ~]#mount /dev/vg1/lv1  /lv1/
[iyunv@localhost ~]# cp/etc/passwd  /lv1/
[iyunv@localhost ~]# ls/lv1/
passwd

对lv1创建一个快照
[iyunv@localhost ~]#lvcreate -s -n lv1_sp -L 300M vg1/lv1
  Logical volume "lv1_sp" created.
[iyunv@localhost ~]# lvs
  LV    VG   Attr       LSize  Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  root  rhel -wi-ao----  10.00g                                                   
  swap  rhel -wi-ao----   2.00g                                                   
  lv1   vg1  owi-aos---   1.00g                                                   
  lv1_sp vg1 swi-a-s--- 300.00m      lv1    0.00  

注意:在挂载之前必须把源lv进行卸载,否则的话,会出现以下错误
[iyunv@localhost ~]#mount /dev/vg1/lv1_sp /opt/
mount: wrong fs type,bad option, bad superblock on /dev/mapper/vg1-lv1_sp,
       missing codepage or helper program, orother error

       In some cases useful info is found insyslog - try

[iyunv@localhost ~]#umount /lv1
[iyunv@localhost ~]#mount /dev/vg1/lv1_sp /opt/
[iyunv@localhost ~]# ls/opt/
passwd


系统存储管理器的使用
系统存储管理器(又称ssm)是RHEL7/CentOS7 新增的功能,是一种统一的命令界面,由红帽公司开发,用于管理各种各样的存储设备。目前,有三种可供ssm使用的卷管理后端:LVM、brtfs和crypt

1)安装系统存储管理器
[iyunv@localhost ~]# yum-y install system-storage-manager.noarch
如果没有配置yum使用rpm的方式一样可以安装
[iyunv@localhost~]# rpm -ivh /mnt/Packages/system-storage-manager-0.4-5.el7.noarch.rpm

查看ssm命令的帮助信息:
[iyunv@localhost ~]# ssm--help
{check,resize,create,list,add,remove,snapshot,mount}
    check               Check consistency of the filesystem on the device.
    resize              Change or set the volume and filesystem size.
    create              Create a new volume with definedparameters.
    list                List information about alldetected, devices, pools,
                        volumes and snapshotsin the system.
    add                 Add one or more devices intothe pool.
    remove              Remove devices from the pool,volumes or pools.
    snapshot            Take a snapshot of the existingvolume.
    mount               Mount a volume with file systemto specified locaion.

wKiom1Zu212iRdZGAAIeaWhWHGI693.jpg
可以看到当前系统中有4个物理设备(sda、sdb、sdc、sdd)二个存储池(rhel 、vg1即lvm卷组)和两个在此存储池上创建的LVM卷(/dev/rhel/swap、/dev/rhel/root、/dev/vg1/lv1、/dev/sda1、/dev/sda3)

3)将物理磁盘sdb5添加到LVM存储池
语法格式:ssm  add -p  存储池   设备
[iyunv@localhost ~]# ssmadd -p rhel /dev/sdb5
  Physical volume "/dev/sdb5"successfully created
  Volume group "rhel" successfullyextended

新设备添加到存储池后,存储池会自动扩大
wKioL1Zu236RZp1UAAHU6I_ZM4w516.jpg

4)LVM动态扩容(不能对已经做了快照的lv进行扩容)
[iyunv@localhost ~]# ssmresize -s+500M /dev/rhel/root
  Size of logical volume rhel/root changed from10.00 GiB (2560 extents) to 10.49 GiB (2685 extents).
  Logical volume root successfully resized
meta-data=/dev/mapper/rhel-root  isize=256   agcount=4, agsize=655360 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=0        finobt=0
data     =                       bsize=4096   blocks=2621440, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=0
log      =internal               bsize=4096   blocks=2560, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
data blocks changedfrom 2621440 to 2749440


扩容之后通过查看可以看到,无需使用xfs_growfs命令对文件系统进行扩容,容量会自动扩展到文件系统中
[iyunv@localhost ~]# df-h
Filesystem              Size  Used Avail Use% Mounted on
/dev/mapper/rhel-root    11G 3.3G  7.3G  31% /
devtmpfs                2.0G     0 2.0G   0% /dev
tmpfs                   2.0G  140K 2.0G   1% /dev/shm
tmpfs                   2.0G  8.9M 2.0G   1% /run
tmpfs                   2.0G     0 2.0G   0% /sys/fs/cgroup

5)创建一个名为vg2的存储池,并在其上创建一个名为lv2大小为1G的LVM卷,使用xfs文件系统格式化卷,并将它挂载到/lv2目录下

如果不用ssm,需要四项步骤完成:创建vg 创建lv 格式化 挂载
[iyunv@localhost ~]# ssmcreate -s 1G -n lv2  --fstype xfs -pvg2  /dev/sdc  /lv2
[iyunv@localhost ~]# ssmcreate -s 1G -n lv2  --fstype xfs -pvg2  /dev/sdc  /lv2
[iyunv@localhost ~]# df-h  | grep lv2
/dev/mapper/vg2-lv2    1014M  33M  982M   4% /lv2

6)创建快照
[iyunv@localhost ~]# ssmsnapshot -s 500M -n lv2_sp  /dev/vg2/lv2
  Logical volume "lv2_sp" created.
[iyunv@localhost ~]#umount /lv2/
[iyunv@localhost ~]#mkdir /lv2_snapshot
[iyunv@localhost ~]#mount /dev/vg2/lv2_sp /lv2_snapshot/
注:挂载快照时,必须卸载原有的LVM卷

7)移除LVM卷
[iyunv@localhost ~]# ssmremove /dev/vg2/lv2_sp
Device'/dev/vg2/lv2_sp' is mounted on '/lv2_snapshot' Unmount (N/y/q) ? Y
Do you really want toremove active logical volume lv2_sp? [y/n]: y
  Logical volume "lv2_sp"successfully removed

注:删除已经挂载的卷,ssm会自动先将其卸载


磁盘配额
RHEL7磁盘配额
确认配额命令已经安装
[iyunv@localhost ~]# rpm-qf `which xfs_quota`
xfsprogs-3.2.1-6.el7.x86_64

首先创建新的分区
[iyunv@localhost ~]# ls/dev/sdd*
/dev/sdd  /dev/sdd1

启用配额
[iyunv@localhost ~]#mkfs.xfs  /dev/sdd1
[iyunv@localhost ~]#mkdir /sdd1
[iyunv@localhost ~]#mount -o uquota,gquota  /dev/sdd1  /sdd1/
查看
[iyunv@localhost ~]#mount | grep sdd1
/dev/sdd1 on /sdd1 typexfs (rw,relatime,attr2,inode64,usrquota,grpquota)

如何开机自动启动配额
[iyunv@localhost ~]# vim/etc/fstab
/dev/sdd1    /sdd1   xfs    defaults,usrquota,grpquota      00

设置目录权限,并创建配额用户
[iyunv@localhost ~]#chmod 777  /sdd1/
[iyunv@localhost ~]#useradd who

查看配额状态
[iyunv@localhost ~]#xfs_quota -x -c 'report'  /sdd1/
User quota on /sdd1(/dev/sdd1)
                               Blocks                     
User ID          Used       Soft       Hard   Warn/Grace     
------------------------------------------------------------
root                0          0          0    00 [--------]

Group quota on /sdd1(/dev/sdd1)
                               Blocks                     
Group ID         Used       Soft       Hard   Warn/Grace     
------------------------------------------------------------
root                0          0          0    00 [--------]

参数:
-x           使用专家模式,只有此模式才能设置配额
-c           启用命令模式
report     显示配额信息
limit              设置配额

设置配额
[iyunv@localhost ~]# xfs_quota-x -c 'limit bsoft=100M bhard=120M -g who' /sdd1/
再次查看
[iyunv@localhost ~]#xfs_quota -x -c 'report'  /sdd1/
User quota on /sdd1(/dev/sdd1)
                               Blocks                     
User ID          Used       Soft       Hard   Warn/Grace     
------------------------------------------------------------
root                0          0          0    00 [--------]

Group quota on /sdd1(/dev/sdd1)
                               Blocks                     
Group ID         Used       Soft      Hard    Warn/Grace     
------------------------------------------------------------
root                0          0          0    00 [--------]
who                 0     102400    122880     00 [--------]

验证:


[iyunv@localhost ~]# su- who
[who@localhost ~]$ ddif=/dev/zero  of=/sdd1/who.txt  bs=1M count=100
100+0 records in
100+0 records out
104857600 bytes (105MB) copied, 0.0714836 s, 1.5 GB/s
[who@localhost ~]$ ll-h /sdd1/who.txt
-rw-rw-r-- 1 who who 100MDec 14 22:19 /sdd1/who.txt

[who@localhost ~]$ ddif=/dev/zero  of=/sdd1/who.txt  bs=1M count=130
dd: errorwriting ‘/sdd1/who.txt’: Disk quota exceeded
121+0 records in
120+0 records out
125829120 bytes (126MB) copied, 0.125158 s, 1.0 GB/s
[who@localhost ~]$ ll-h /sdd1/who.txt
-rw-rw-r-- 1 who who120M Dec 14 22:20 /sdd1/who.txt

RHEL6.5 磁盘配额
限定用户或组对磁盘空间的使用。
[iyunv@xuegod63 ~]# rpm-q quota
quota-3.17-16.el6.x86_64

2.启用quota磁盘配额功能

[iyunv@xuegod63 ~]#mkfs.ext4 /dev/sdb3
[iyunv@xuegod63 ~]#mkdir /tmp/sdb3
[iyunv@xuegod63 ~]#mount /dev/sdb3 /tmp/sdb3/
[iyunv@xuegod63 ~]# mount -o remount,usrquota,grpquota /tmp/sdb3/
[iyunv@xuegod63 ~]#mount
/dev/sdb3 on /tmp/sdb3type ext4 (rw,usrquota,grpquota)

[iyunv@xuegod63 ~]# tail-n 1 /etc/fstab   
/dev/sdb3     /tmp/sdb3                   ext4    defaults,usrquota,grpquota 0 0

3.检测磁盘配额并生成配额文件

[iyunv@xuegod63 ~]#quotacheck -cugv /tmp/sdb3/
wKiom1Zu25-wBnPgAAJR9NucrwY892.jpg

[iyunv@xuegod63 ~]# ll-a /tmp/sdb3/
total 40
drwxr-xr-x   3 root root 4096 Feb  2 22:18 .
drwxrwxrwt. 18 rootroot  4096 Feb  2 22:15 ..
-rw-------   1 root root 6144 Feb  2 22:18 aquota.group
-rw-------   1 root root 6144 Feb  2 22:18 aquota.user

setenforce 0  #要关闭selinux

4.用户和组账号的配额设置

[iyunv@xuegod63 ~]#useradd rm
[iyunv@xuegod63 ~]#edquota -g rm
Disk quotas for groupmk (gid 500):
  Filesystem                   blocks       soft       hard    inodes     soft     hard
  /dev/sdb3                       0          50         80          0        0       0

wKiom1Zu28GDq81VAAI48creC2I444.jpg



激活磁盘配额

[iyunv@xuegod63 ~]#quotaon -ugv /tmp/sdb3/
/dev/sdb3 [/tmp/sdb3]:group quotas turned on
/dev/sdb3 [/tmp/sdb3]:user quotas turned on
wKiom1Zu297iOxkaAAGVcZ6P4Yc175.jpg

验证:
[iyunv@xuegod63 ~]#mkdir /tmp/sdb3/test
[iyunv@xuegod63 ~]#chmod 777 /tmp/sdb3/test/

[mk@xuegod63 test]$ ddif=/dev/zero of=mk.txt  bs=1Kcount=70  # 大于50K报警
sdb3: warning, groupblock quota exceeded.
70+0 records in
70+0 records out
71680 bytes (72 kB)copied, 0.00388255 s, 18.5 MB/s
[mk@xuegod63 test]$ ls
mk.txt
[mk@xuegod63 test]$ rm -rf mk.txt
[mk@xuegod63 test]$ ddif=/dev/zero of=mk.txt  bs=1Kcount=90   # 大于80,报错
sdb3: write failed,group block limit reached.
dd: writing `mk.txt':Disk quota exceeded

[mk@xuegod63 test]$ ll-h
total 80K
-rw-rw-r-- 1 mk mk 80KFeb  2 22:30 mk.txt

说明:
[iyunv@xuegod63 ~]#tune2fs -l /dev/sdb3 | grep size
Filesystemfeatures:      has_journal ext_attrresize_inode dir_index filetype needs_recovery extent flex_bg sparse_superlarge_file huge_file uninit_bg dir_nlink extra_isize
Blocksize:               4096
Fragment size:            4096
说明,磁盘配额中的  blocks 。一个block是1K。


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-151247-1-1.html 上篇帖子: Linux权限详解 下篇帖子: RAID5和RAID10创建&LVM管理
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表