手动增加swap空间

                       一般我们的swap空间都是设置为内存的两倍(不超8GB)

手动增加swap空间步骤 :

1.首先我们必须增加一个虚拟磁盘,增加虚拟磁盘基本思路:建立swapfile->格式化swap格式->启用虚拟磁盘

建立swapfile

# dd if=/dev/zero of=tmp/newdisk bs=1M count=100

(if指定源(一般为 /dev/zero ,它是unix下源源不断产生“0”的特有文件);of制定目标文件;bs指定块大小;count定义块的数量)

6

格式化为swap


#mkswap -f /tmp/newdisk


加载到现有磁盘上(注意留意swap空间大小变化  用命令 free -m查看

# swapon /tmp/newdisk          (把/tmp/newdisk 加载到先用磁盘)


可按提示修改文件的权限

chmod 600 /tmp/newdisk



swap空间、lvm、磁盘故障案例_空间


卸载此磁盘

swapoff /tmp/newdisk 


删除虚拟磁盘文件

rm -f /tmp/newdisk







                            lvm

                                                      LVM用于扩容和所容磁盘空间

swap空间、lvm、磁盘故障案例_swap_02

流程:创建物理分区->物理卷->物理卷组->逻辑卷->格式化->挂载


1.准备磁盘分区:

. fdisk /dev/sdb

. n 创建三个新分区,分别为1G、

. t 改变分区类型为 8e(LVM)



fdisk /dev/sdb

n

+1G

t      :改变分区id为8e(8e代表LVM)

swap空间、lvm、磁盘故障案例_swap_03


2.创建物理卷:

swap空间、lvm、磁盘故障案例_空间_04



首先安装lvm :yum install -y lvm2

{知道一个要使用的命令时,但是我们不知道应该安装哪个安装包的时候。我们可以使用yum provides "/*/命令 的这种通配格式查找到我们应该安装什么安装包 如:yum provides "/*/pvcreate"}


.pvcreate /dev/sdb1

.pvcreate /dev/sdb2

.pvcreate /dev/sdb3


.pcdisplay 列出当前的物理卷

.pvremove /dev/sdb3  删除物理卷


当我们安装完,运行命令:pvcreate /dev/sdb1时,如果出现错误

则运行这个命令: partprode    会生成/dev/sdb1文件目录


swap空间、lvm、磁盘故障案例_swap_05

完成后再输入命令 :pvcreate /dev/sdb1

pvcreate /dev/sdb2

pvcreate /dev/sdb3

swap空间、lvm、磁盘故障案例_空间_06


.pcdisplay/pvs 列出当前的物理卷

pvdisplay 

swap空间、lvm、磁盘故障案例_swap_07 swap空间、lvm、磁盘故障案例_空间_08


3.创建物理卷组

vgcreate 卷组名字  +物理卷(可多个物理卷组成一个卷组)

如:vgcreate vg1 /dev/sdb1 /dev/sdb2        (使用两个物理卷组成一个卷组,/dev/sdb1 、/dev/sdb2)


查看物理卷组  命令:vgdisplay或vgs

swap空间、lvm、磁盘故障案例_空间_09

 

4.创建逻辑卷:

lvcreate -L 逻辑卷大小 -n 

如:lvcreate -L 100M -n lv1 vg1

swap空间、lvm、磁盘故障案例_空间_10


5.格式化  (格式化为ext4文件系统格式,也可以格式化为xfs格式(xfs格式不利于之后的扩容缩容))

mkfs.ext4 /dev/vg1/lv1

swap空间、lvm、磁盘故障案例_swap_11


6.挂载:

mount  /逻辑卷  /挂载到所在的目录

mount /dev/vg1/lv1  /mnt

swap空间、lvm、磁盘故障案例_swap_12


创建目录和文件

mkdir /mnt/1212

touch /mnt/23.txt

echo "111111111111"  > /mnt/23.txt  (写入内容)


7.扩容逻辑卷(此时是在ext4文件系统格式下进行,因为我们格式化时格式化为ext4)

swap空间、lvm、磁盘故障案例_swap_13

(1)扩容前先把挂载目录取消挂载

umount /mnt/

再执行扩容命令:lvresize -L +大小M +扩容逻辑卷

如:lvresize -L 200M /dev/vg1/lv1

(2)检查磁盘错误:

 e2fsck -f /dev/vg1/lv1



(3)更新逻辑卷信息:(如果不更新,则在挂在是无法识别新的大小)

resize2fs /dev/vg1/lv1


(4)重新挂载逻辑卷

mount /dev/vg1/lv1 /mnt/


swap空间、lvm、磁盘故障案例_swap_14




8.缩容逻辑卷(xfs不支持)

swap空间、lvm、磁盘故障案例_swap_15

(1)取消挂载目录挂载

umont /mnt/


(2)检测磁盘错误:


e2fsck -f /dev/vg1/lv1

(3)更新缩容逻辑卷:

resize2fs /dev/vg1/lv1 100M

(4)设置逻辑卷大小

lvresize -L 100M /dev/vgl/lv1

(5)查看逻辑卷信息

lvdisplay或者lvs


swap空间、lvm、磁盘故障案例_swap_16


       xfs文件系统下的扩容(不支持缩容)

1.先格式为 xfs文件系统格式 mkfs.xfs -f /dev/vg1/lv1

2.然后挂载 mount /dev/vg1/lv1 /mnt/

swap空间、lvm、磁盘故障案例_swap_17

(3)扩容(xfs格式扩容不需要取消挂载再扩容)

lvresize -L 300M /dev/vg1/lv1

执行命令后其实容量大小还没有改变,需执行命令:

xfs_growfs  /dev/vg1/lv1 

swap空间、lvm、磁盘故障案例_swap_18

此时出现无效参数错误:不够细心用错命令

正确命令 # xfs_growfs /dev/vg1/lv1


swap空间、lvm、磁盘故障案例_swap_19




!!扩容逻辑卷,最大容量扩展为扩展组的大小




               扩展卷组


swap空间、lvm、磁盘故障案例_空间_20

我的分区还有一个的是空闲的分区是  sdb3

先扩容卷组:

vgextend vga /dev/sdb3

swap空间、lvm、磁盘故障案例_空间_21此时卷组已经变为3G


再扩容逻辑卷:

lvresize -L 大小 +逻辑卷

lvresize -L 200M /dev/vg1/lv1






                            磁盘故障案例

出现问题

swap空间、lvm、磁盘故障案例_空间_22


这往往就是磁盘挂载出现了问题:不能正确挂载到挂载点

1.输入root 密码后:

2.编辑vi /etc/fstab

3.删除添加挂载分区的那一行,后保存退出即可。

swap空间、lvm、磁盘故障案例_swap_23

4.重启(reboot、init 6)


完成以上操作基本就可正常(登录、远程)