linux系统基本操作——lvm和ftp

来源:互联网 发布:java使用zookeeper 编辑:程序博客网 时间:2024/05/29 07:49

#####lvm#######


1.pv:物理卷
  vg:物理卷组

  lvm:逻辑卷


2.vm的建立
划分物理分区,并修改分区标签为1vm
*pvcreate /dev/vdb1   ##创建物理卷

  Physical volume "/dev/vdb1" successfully created


*vgcreate vg0 /dev/vdb1     ##创建物理卷组

  Volume group "vg0" successfully created


*lvcreate -L 100M -n lv0 vg0  ##创建逻辑卷

  Logical volume "lv0" created



*mkfs.xfs /dev/vg0/lv0  ##格式化设备


*mount /dev/vg0/lv0 /mnt  ##设备挂载投入




监控命令:
*watch -n 1 'pvs;echo ==========;vgs;echo =========;lvs;echo ========;df -h /mnt'


3.lvm的拉伸
在xfs文件系统下
当vg中余量充足时:
*lvextend -L 400M /dev/vg0/lv0   ##扩充到400M
  Extending logical volume lv0 to 400.00 MiB
  Logical volume lv0 successfully resized

xfs_growfs /dev/vg0/lv0   ##更新文件系统



当vg中生于容量不足时:
*lvextend  -L 700M /dev/vg0/lv0
  Extending logical volume lv0 to 700.00 MiB

  Insufficient free space: 150 extents needed, but only 99 available  ##余量不足


*pvcreate  /dev/vdb2     ##加入新的物理卷vdb2
  Physical volume "/dev/vdb2" successfully created
*vgextend vg0 /dev/vdb2   ##创建物理卷组
  Volume group "vg0" successfully extended
*lvextend -L 700M /dev/vg0/lv0   ##拉伸逻辑卷
  Extending logical volume lv0 to 700.00 MiB
  Logical volume lv0 successfully resized

*xfs_growfs /dev/vg0/lv0   ##更新文件系统




在ext4文件系统中(只有在ext4文件系统中才能缩减):
*umount /mnt/  ##先卸载

*mkfs.ext4 /dev/vg0/lv0  ##格式化为ext4



拉伸
*lvextend -L 800M /dev/vg0/lv0  ##逻辑卷拉伸到800M
*resize2fs /dev/vg0/lv0    ##更新文件系统

*mount /dev/vg0/lv0    ##挂载查看



缩减(例如先喝杯子里的了果汁才能缩小杯子,故先后顺序不可变
*umount /mnt/    ##先卸载文件

*e2fsck -f /dev/vg0/lv0   ##扫描



*resize2fs /dev/vg0/lv0 200M  ##压缩文件系统到200M
*mount /dev/vg0/lv0 /mnt    ##挂载查看

*lvreduce -L 200M /dev/vg0/lv0  ##压缩逻辑卷设备



对卷组

*pvmove /dev/vdb2 /dev/vdb1       ##当要移出的分区存在数据,那么需要把数据迁移到其他pv中



*vgreduce vg0 /dev/vdb2          ##将vdb2的物理卷组vg0删除
  Removed "/dev/vdb2" from volume group "vg0"

*pvremove /dev/vdb2       ##将vdb1移出

移出vdb2



快照

[root@localhost mnt]# touch file{1..4}   ##创建文件
[root@localhost ~]# umount /mnt/  ##先卸载
[root@localhost ~]# lvcreate -L 100M -n lv0photo -s /dev/vg0/lv0  ##创建快照
  Logical volume "lv0photo" created
[root@localhost ~]#mount /dev/vg0/lv0photo /mnt/

[root@localhost ~]# cd /mnt/
[root@localhost mnt]# ls
file1  file2  file3  file4  lost+found
[root@localhost mnt]# rm -fr *    ##快照损坏
[root@localhost mnt]# ls
[root@localhost ~]# umount /mnt/
[root@localhost ~]# lvremove /dev/vg0/lv0photo  ##删除快照,之后重新照
Do you really want to remove active logical volume lv0photo? [y/n]: y
  Logical volume "lv0photo" successfully removed
[root@localhost ~]# lvcreate -L 100M -n lv0photo -s /dev/vg0/lv0
  Logical volume "lv0photo" created
[root@localhost ~]# mount /dev/vg0/lv0photo /mnt/
[root@localhost ~]# cd /mnt/
[root@localhost mnt]# ls

file1  file2  file3  file4  lost+found



删除快照:
umount /mnt/

lvremove /dev/vg0/lv0photo



4.lvm的删除

lvremove /dev/vg0/lv0  ##移出逻辑卷


vgremove vg0   ##移出物理卷组



pvremove /dev/vdb2  ##移出物理卷


fdisk /dev/vdb   ##删除vdb2



如果一开始就fdisk /dev/vdb
partprobe ##同步分区表后就会出现以下错误:


  No device found for PV xMSYdO-UWV6-NmR3-YrYl-nFs0-w9f4-bj9JRw.
  No device found for PV xMSYdO-UWV6-NmR3-YrYl-nFs0-w9f4-bj9JRw.
  No device found for PV xMSYdO-UWV6-NmR3-YrYl-nFs0-w9f4-bj9JRw.
  No device found for PV xMSYdO-UWV6-NmR3-YrYl-nFs0-w9f4-bj9JRw.
  PV             VG   Fmt  Attr PSize   PFree
  /dev/vdb1      vg0  lvm2 a--  496.00m 296.00m
  unknown device vg0  lvm2 a-m  496.00m 496.00m
==========
  No device found for PV xMSYdO-UWV6-NmR3-YrYl-nFs0-w9f4-bj9JRw.
  No device found for PV xMSYdO-UWV6-NmR3-YrYl-nFs0-w9f4-bj9JRw.
  VG   #PV #LV #SN Attr   VSize   VFree
  vg0    2   1   0 wz-pn- 992.00m 792.00m
=========
  No device found for PV xMSYdO-UWV6-NmR3-YrYl-nFs0-w9f4-bj9JRw.
  No device found for PV xMSYdO-UWV6-NmR3-YrYl-nFs0-w9f4-bj9JRw.
  LV   VG   Attr       LSize   Pool Origin Data%  Move Log Cpy%Sync Convert
  lv0  vg0  -wi-a----- 200.00m

解决方法:
vgreduce vg0 --removemissing



#######ftb服务#######


1.ftb的定义

ftb://   ###文件传输协议

2.ftb协议提供的软件
在rhel7中:
vsftpd
实验之前(共享yum源):
例:

(1)vim /etc/yum.repos.d/rhel_dvd.repo
[rhel_dvd]
gpgcheck = 0
enabled = 1
baseurl = http://172.25.254.250/rhel7
name = Remote classroom copy of dvd
~                                   

(2)vim /etc/sysconfig/selinux
SELINUX=disabled

3.部署ftp服务
yum install vsftpd -y


systemctl start vsftpd
systemctl enable vsftpd
firewall-cmd --permanent --add-service=ftp
firewall-cmd --reload


期间遇到没有的yum命令,就下载,例:yum install lftp

检测:


ftp服务的基本信息
软件安装包:vsftpd
默认发布目录:/var/ftp
协议接口:21/tcp
服务配置文件:/etc/vsftpd/vsftpd.conf




4.ftp的基本配置(vim /etc/vsftpd/vsftpd.conf
匿名用户:
anonymous_enable=TES|NO   ##匿名用户是否可以登陆ftp服务器

  lftp 172.25.254.213   ##匿名用户


匿名用户无法登录


本地用户:
local_enable=NO|YES    ##本地用户是否可以登陆
  lftp 172.25.254.213 -u student  ##本地用户

本地用户无法登录


write_enable=NO|YES    ##ftp是否对登陆用户可以写入


550:权限,赋文本身功能未开放
530:密码错误,用户认证失败
553:本地文件系统对你不可写,权限过小
500:文件系统权限过大


##匿名用户上传
vim /etc/vsftpd/vsftpd.conf
  anon_upload_enable=YES 
  ##允许匿名用户上传文件


systemctl restart vsftpd
chgrp ftp /var/ftp/pub
chmod 775 /var/ftp/pub




##匿名用户家目录修改
anon_root=/mnt

上图用于方便查看家目录是否转到了/mnt



 
##匿名用户上传文件默认权限修改
 anon_umask=xxx

##匿名用户建立目录
anon_mkdir_write_enable=YES|NO

##匿名用户删除
anon_other_write_enable=YES|NO

##匿名用户下载
anon_world_readable_only=NO|YES  ##NO匿名用户可以下载



##匿名用户使用的用户身份
 chown_uploads=YES
 chown_username=student



##下载最大速率
 anon_max_rate=2048000


##最大连接数
max_clients=2

local_enable=YES

write_enable=YES

local_umask=022




##限制本地用户游览目录
所有用户被锁定在自己的家目录中
chroot_local_user=YES
chmod u-w /home/*



用户黑名单建立
chroot_local_user=NO
chroot_list_enable=YES
# (default follows)
chroot_list_file=/etc/vsftpd/chroot_list



限制本地用户登陆
vim /etc/vsftpd/ftpusers    ##用户黑名单
vim /etc/vsftpd/user_list 
  ##用户黑名单临时


用户白名单设定

chroot_local_user=YES
chroot_list_enable=YES
# (default follows)
chroot_list_file=/etc/vsftpd/chroot_list

userlist_deny=NO


vim /etc/vsftpd/chroot_list

vim /etc/vsftpd/user_list    ##参数设定,把文件用户变成白名单,只有在名单中出现的用户可以登陆ftp





显示白名单里的student可以登陆,不再白名单里的lee不可以登陆