一、LVM
1.什么是LVM:逻辑卷管理,是硬盘的一个系统工具。在不损坏已存储的数据前提下,可以随意将新的硬盘添加到LVM,以直接扩展已经存在的逻辑卷。
2.为何要用LVM:通常用的fdisk、gdisk等工具对磁盘分区后,每个分区的大小就固定死了。用LVM可以做到动态扩容和缩容。
3.LVM 基本用法:
5.LVM优缺点:
优点:
可以在系统运行的状态下动态的扩展文件系统的大小
文件系统可以跨多个磁盘。因此文件系统大小不会受物理磁盘的限制
可以增加新的磁盘到LVM的储存池中
可以以镜像的方式冗余重要的数据到多个物理磁盘
可以方便的导出整个卷组到另外一台机器
缺点:
因为加入了额外的操作,存取性能受到影响
当卷组中的一块磁盘损坏时,整个卷组都会受到影响
在从卷组中移除一个磁盘的时候必须使用reducevg命令(该命令要求root权限,并且不允许在快照卷组中使用)
6.制作LVM:
前提:yum install lvm2 -y #下载LVM
1.制作PV:可以对分区做、也可以对整块盘做
制作:
pvcreate /dev/sdb #对第二块整个磁盘做PV
pvcreate /dev/sdc1 #对第三块磁盘第一个分区做PV
查看:
pvs
pvscan
2.制作VG:将PV划入VG中(可制作多个)
vgcreate vg1 /dev/sdb /dev/sdc1 #将sdb和sdc1两个PV做成一个VG
vgs #查看vg
3.制作lv:将VG制作成lv(可制作多个)
-L # lv大小
-n #lv的名字
lvcreate -L 1G -n lv1_from_vg1 vg1 #将vg1里的1G的大小做成lv
查看
lvs
4.格式化与挂载
mkfs.xfs /dev/vg1/lv1_from_vg1
mount /dev/vg1/lv1_from_vg1 /test1
5.查看
df
7.在线动态扩容:在不用卸载的情况下完成扩容
对现有的lv1进行动态扩容
新增一块盘或者一个分区
fdisk /dev/sdc
分一个分区sdc2
新增一个PV
pvcreate /dev/sdc2
把新增的pv扩到新增vg2
vgextend vg2 /dev/sdc2
vgs #查看容量
把新增的vg2扩到lv1里
lvextend -L +100M /dev/vd2/lv1_from_vg1
xfs_growfs /dev/vg2/lv1_from_vg1 #扩展lv1后需要更新xfs系统
8.在线动态缩容与删除(不建议用,xfs系统不支持)
缩容:(不建议用,xfs系统不支持)
lvreduce -L -100M /dev/vg1/lv1_from_vg1
删除:删除之前要先取消挂载
umount /test1
lvremove /dev/vg1/lv1_from_vg1 #删除lv1
vgremove /dev/vg1 #删除vg
pvremove /dev/sdb pvremove /dev/sdc1 #删除pv
9.快照(给文件系统做一个备份)
LVM采用的写时复制,是指创建快照时,仅创建了实际数据的inode的硬链接,只要实际数据没有改变,快照就只包含数据的硬链接,实际上是空的,而非数据本身。快照会跟踪始卷中块的改变,一旦更改了快照对应的文件或目录,原始卷上将要改变的数据会在改变之前拷贝到快照的预留空间中,所以快照的大小和lv大小一样就可以
重点:1.vg中需要预留存放快照本身的空间,不能全部被占满 2.快照所在的VG必须与备份的LV的VG相同,否则创建快照会失败
总结:快照本质就是一个特殊的lv,创建快照后,如果源数据卷中的文件被更新,会将老数据赋给快照的空间,这就要求快照的空间也是够用的
利用快照恢复单个文件:
echo 111 > /test1/1.txt #准备好初始数据
vgs #查看vg1容量做快照是否充足
lvcreate -L 1G -s -n lv1_from_vg1_snap /dev/vg1/lv1_from_vg1 #在vg1里创建一个lv1的快照
lvs #查看
echo 222 >> /test1/1.txt #追加222到1.txt文件里==》修改文件内容
cat /test/1.txt #看一下文件内容
mount -o nouuid /dev/vg1vg1_from_vg1_snap /opt #挂载快照,注意:快照在挂载的时候由于和原来的lvm是同一个UUID,而XFS系统是不允许相同UUID的文件系统挂载,所以加-o nouuid
cat /opt/1.txt #查看到的内容就是修改前内容
cp /opt/1.txt /text1/1.txt #把原内容恢复到源文件
利用快照恢复的文件个数过多,可以直接合并:
创建快照步骤同上
mount -o nouuid /dev/vg1vg1_from_vg1_snap /opt #挂载快照
cat /opt/1.txt #原文件内容
cat /test1/1.txt #修改后文件内容
先卸载数据源与快照,在进行合并,快照会自动删除,一次性的
umount /test1
umount /opt
lvconvert --mergesnapshot /dev/vg1/lv1_from_vg1_snap
mount /dev/vg1/lv1_from_vg1 /test1
cat /test1/1.txt #数据还原回来了
二、网络管理
1.修改网卡名字:
网卡命名规则:
CentOS6之前基于传统的命名方式如: eth1, eth0....
Centos7提供了不同的命名规则,默认是基于固件、拓扑、位置信息来分配
这样做的优点是命名是全自动的、可预知的,缺点是比eth0更难读, 比如ens33
============修改网卡配置文件名称=============
cd /etc/sysconfig/network-scripts/
mv ifcfg-ens33 ifcfg-eth0
============修改网卡配置文件设备名称==========
sed -i "s/ens32/eth100/g" ifcfg-ens37 #直接使用sed查找后替换
vim /etc/sysconfig/network-scripts/ifcfg-ens37
==========GRUB添加 kernel 参数================
vim /etc/sysconfig/grub #进入内核参数文件
GRUB_CMDLINE_LINUX="rhgb quiet 'net.ifnames=100 biosdevname=100'" #修改这一行
grub2-mkconfig -o /boot/grub2/grub.cfg #加载到引导分区,生成菜单
reboot ===》 ifconfig # 重启系统生效,再查看是否成功
eth100: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 #发现已经改变了
- 查看网卡信息
lspci |grep -i eth #查看当前系统所连接的所有网卡
mii-tool eth0 #确认网线已经连接好,以eth0为例
eth0:negotiated 1000baseT-FD flow-control,link ok # link on 网卡能够被识别,并且接了有效的网线
SIOCGMIIPHY on 'eth1' failed: Invalid argument #网卡虽然能够被识别(网卡已经被驱动了,但不能用:网卡配置错误,网线没接等)
3.ifconfig命令:
ifconfig -a #查看所有网卡信息
ifconfif eth0 #查看指定网卡信息
ifconfig eth10 192.168.12.188/24 #临时设置IP和掩码(重启服务或系统都失效)
ifconfig eth10 192.168.12.188 netmask 255.255.255.0 #同上一样
ifconfig eth10:1 192.168.12.199/24 #配置子接口
ifconfig eth10:1 down #删除这个子接口
ifconfig eth10:1 del 192.168.12.199 #删除这个子接口
ifconfig eth10 down/up #不加载/加载这个网卡的配置文件
ifdown eth10 / ifup eth10 #不加载/加载这个网卡的配置文件
4.ping命令:
ping [目标IP地址] #测试两台主机网络是否通 Ctrl + c 结束
ping -c [次数] [目标IP地址] #设置"ping"的次数
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all #禁止别人"ping"自己
5.NetworkManager服务:
NetworkManager是检测网络、自动连接网络的程序
网络管理器最初由 Redhat 公司开发,现在由 GNOME 管理
它会干扰网络配置, 比如: DNS经常被刷掉, 所以通常关闭
systemctl stop NetworkManager (关闭)
systemctl disable NetworkManager (开机不重启)
6.dns配置文件:
/etc/resolv.conf #DNS解析文件
可以设置DNS指向,最多三个===》8.8.8.8、223.6.6.6
/etc/hosts #本地名称解析文件, 优先于DNS
DNS检索优先级:
浏览器缓存—>本地系统缓存—>本地计算机HOSTS文件—>ISP远程DNS—>递归or迭代搜索
7.永久设置主机名:
vim /etc/hostname #通过修改文件来永久修改主机名
hostnamectl set-hostname [想要的主机名] #通过命令的方式也是永久修改
exit #等出后重新登陆即可
8.端口和服务对应关系:
grep ‘ftp|ssh’ /etc/services #查看vsftpd服务和ssh的端口号,前提先开启vsftpd
9.网卡配置文件:
vim /etc/syscnfig/network-script/ifcfg-XXX
手动配置静态IP地址:route -n