一步一步创建逻辑卷和交换分区
z第一步:拥有基本分区
第二步:做成物理卷: pv ------- sdb1、sdb2 打pv的标记。
第三步:加入卷组: vg-------- 卷组里面包含:sdb1 sdb2,建立在PV之上。
第四步:逻辑卷 lv ------- 逻辑卷是从卷组里面拿空间出来做成的逻辑卷,在起个名,建立在VG之上
第五步:制作文件系统------mkfs.xfs lvm路径
第六步:挂载 ------mount 使用lvm
#制作lvm的时候可以是一整块硬盘也可以是硬盘分好的区并且是还没有用的。必须是没有做文件系统的
[root@linux-server ~]# pvcreate /dev/sdb #创建pv
Physical volume "/dev/sdb" successfully created.
[root@linux-server ~]# pvs #查看pv
PV VG Fmt Attr PSize PFree
/dev/sdb lvm2 --- 10.00g 10.00g
[root@linux-server ~]# pvscan #查看pv
PV /dev/sda2 VG centos lvm2 [<19.00 GiB / 0 free]
PV /dev/sdb lvm2 [10.00 GiB]
Total: 2 [<29.00 GiB] / in use: 1 [<19.00 GiB] / in no VG: 1 [10.00 GiB]
[root@linux-server ~]# pvdisplay #查看pv
[root@linux-server ~]# vgcreate vg1 /dev/sdb #创建vg
Volume group "vg1" successfully created
参数解释:
-s 16M 指的是在分区的时候指定ps的大小。
[root@linux-server ~]# vgs #查看vg
VG #PV #LV #SN Attr VSize VFree
centos 1 2 0 wz--n- <19.00g 0
vg1 1 0 0 wz--n- <10.00g <10.00g
[root@linux-server ~]# vgscan
Reading volume groups from cache.
Found volume group "centos" using metadata type lvm2
Found volume group "vg1" using metadata type lvm2
[root@linux-server ~]# vgdisplay #查看vg
--- Volume group ---
VG Name vg1
System ID
Format lvm2
Metadata Areas 1
Metadata Sequence No 2
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 1
Open LV 0
Max PV 0
Cur PV 1
Act PV 1
VG Size <10.00 GiB
PE Size 4.00 MiB
Total PE 2559
Alloc PE / Size 0 / 0 MiB
Free PE / Size 2559 / <10.00 GiB
VG UUID bVvQxe-4M2A-mMuk-b3gJ-4Maj-0xDy-5QZDOp
[root@linux-server ~]# lvcreate -L 150M -n lv1 vg1 #创建lv
Rounding up size to full physical extent 152.00 MiB
Logical volume "lv1" created.
[root@linux-server ~]# lvcreate -l 20 -n lv2 vg1 #采用PE方式在创建一个lv
Logical volume "lv2" created.
参数解释:
-L 指定lv的大小
-n 给创建的lv起一个名字
-l 20 指定PE
[root@linux-server ~]# lvs #查看lv
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
root centos -wi-ao---- <17.00g
swap centos -wi-ao---- 2.00g
lv1 vg1 -wi-a----- 152.00m
lv2 vg1 -wi-a----- 80.00m
[root@linux-server ~]# mkfs.xfs /dev/vg1/lv1
[root@linux-server ~]# mkfs.ext4 /dev/vg1/lv2
[root@linux-server ~]# mkdir /mnt/lv{1..2}
[root@linux-server ~]# mount /dev/vg1/lv1 /mnt/lv1
[root@linux-server ~]# mount /dev/vg1/lv2 /mnt/lv2
[root@linux-server ~]# df -Th
Filesystem Type Size Used Avail Use% Mounted on
/dev/mapper/vg1-lv1 xfs 149M 7.8M 141M 6% /mnt/lv1
/dev/mapper/vg1-lv2 ext4 74M 1.6M 67M 3% /mnt/lv2
# 创建一个分区或者添加一个磁盘
# 创建一个物理卷
[root@linux-server ~]# vgs #查看vg
VG #PV #LV #SN Attr VSize VFree
centos 1 2 0 wz--n- <19.00g 0
vg1 1 2 0 wz--n- <19.99g <9.77g
[root@linux-server ~]# lvextend -L 850M /dev/vg1/lv1 #扩展到850M
[root@linux-server ~]# lvextend -L +850M /dev/vg1/lv1 #在原有基础上加850M
[root@linux-server ~]# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
root centos -wi-ao---- <17.00g
swap centos -wi-ao---- 2.00g
lv1 vg1 -wi-ao---- 1.66g
lv2 vg1 -wi-ao---- 80.00m
[root@linux-server ~]# lvextend -l +15 /dev/vg1/lv1 #在原有基础上加15个PE
[root@linux-server ~]# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
root centos -wi-ao---- <17.00g
swap centos -wi-ao---- 2.00g
lv1 vg1 -wi-ao---- <1.68g
lv2 vg1 -wi-ao---- 80.00m
[root@linux-server ~]# df -Th
Filesystem Type Size Used Avail Use% Mounted on
/dev/mapper/vg1-lv1 xfs 149M 7.8M 141M 6% /mnt/lv1
/dev/mapper/vg1-lv2 ext4 74M 1.6M 67M 3% /mnt/lv2
[root@linux-server ~]# xfs_growfs /dev/vg1/lv1 #xfs扩容
[root@linux-server ~]# resize2fs /dev/vg1/lv2 #ext4扩容
[root@linux-server ~]# df -Th
Filesystem Type Size Used Avail Use% Mounted on
/dev/mapper/vg1-lv1 xfs 1.7G 9.1M 1.7G 1% /mnt/lv1
/dev/mapper/vg1-lv2 ext4 74M 1.6M 67M 3% /mnt/lv2
作用: ·提升·
内存的容量,防止OOM(Out Of Memory)
现象是当内存不够的时候内核会随机杀死进程,它认为占用内存多的进程。(内核会先删除占用内存多的进程).
如何制作交换分区?
#我们可以将硬盘空间拿来当作内存来用
什么时候用到交换分区?
#当物理内存不够用的时候使用swap分区,防止物理内存耗尽
扩展知识
swap分区大小设置规则
在Linux系统,我们可以参照Redhat公司为RHEL5、RHEL6推荐的SWAP空间的大小划分原则,在你没有其他特别需求时,可以作为很好的参考依据。
内存小于4GB时,推荐不少于2GB的swap空间;
内存4GB~16GB,推荐不少于4GB的swap空间;
内存16GB~64GB,推荐不少于8GB的swap空间;
内存64GB~256GB,推荐不少于16GB的swap空间。
一、查看当前的交换分区
[root@linux-server ~]# free -m
total used free shared buff/cache available
Mem: 1984 155 1679 8 149 1656
Swap: 2047 0 2047
[root@linux-server ~]# swapon -s #查看交换分区信息
二、增加交换分区 可以是基本分区,LVM,File
[root@linux-server ~]# fdisk /dev/sdd #分一个主分区出来
[root@linux-server ~]# partprobe /dev/sdd #刷新分区表
[root@linux-server ~]# ll /dev/sdd*
brw-rw----. 1 root disk 8, 16 Nov 9 14:11 /dev/sdd
brw-rw----. 1 root disk 8, 17 Nov 9 14:11 /dev/sdd1
初始化
[root@linux-server ~]# mkswap /dev/sdd1 #初始化
Setting up swapspace version 1, size = 5242876 KiB
no label, UUID=d2fd3bc0-10c0-4aeb-98ea-6b640d29b783
挂载
[root@linux-server ~]# blkid /dev/sdd1 #查看UUID
/dev/sdd1: dea-6b640d29b783" TYPE="swap"
[root@linux-server ~]# vim /etc/fstab #制作开机挂载
/dev/sdd1 swap swap defaults 0 0
[root@linux-server ~]# feswapon -a #激活swap分区(读取/etc/fstab)
[root@linux-server ~]# swapon -s
Filename Type Size Used Priority
/dev/dm-1 partition 2097148 0 -1
/dev/sdd1 partition 5242876 0 -2
#swapoff /dev/sdd1 #关闭swap分区
file制作
[root@linux-server ~]# dd if=/dev/zero of=/swap2.img bs=1M count=512
解释:dd 读入 从空设备里面拿空块 到交换分区 块多大 一共多少
[root@linux-server ~]# mkswap /swap2.img #初始化
[root@linux-server ~]# vim /etc/fstab
/swap2.img swap swap defaults 0 0
[root@linux-server ~]# chmod 600 /swap2.img #交换分区权限需要设置为600,默认644权限不安全。
[root@linux-server ~]# swapon -a
[root@linux-server ~]# swapon -s
Filename Type Size Used Priority
/dev/dm-1 partition 2097148 0 -1
/dev/sdd1 partition 5242876 0 -2
/swap2.img file 524284 0 -3
**常用挂载选项详解 **
挂载设备文件名、UUID
常见的挂载选项
-o 指定文件系统属性
rw 读写
ro 只读
noexec 不允许执行二进制文件
exec 允许执行二进制文件
auto mount -a 开机自动挂载
remount 在线重新挂载
[root@linux-server ~]# mount #查看已经挂载上的系统的属性
案例1:exec/noexec
[root@linux-server ~]# mount /dev/vg1/lv1 /mnt/lv1/ #挂载默认是有执行权限的
[root@linux-server ~]# mount -o noexec /dev/vg1/lv2 /mnt/lv2 #不允许执行二进制文件
[root@linux-server ~]# cat /mnt/lv1/hello.sh
#!/bin/bash
echo "hello"
[root@linux-server ~]# cat /mnt/lv2/hello2.sh
#!/bin/bash
echo "hello"
[root@linux-server ~]# chmod +x /mnt/lv1/hello.sh
[root@linux-server ~]# chmod +x /mnt/lv2/hello2.sh
[root@linux-server ~]# /mnt/lv1/hello.sh
hello
[root@linux-server ~]# /mnt/lv2/hello2.sh
-bash: /mnt/lv2/hello2.sh: Permission denied
取消挂载
[root@linux-server ~]# df -Th
Filesystem Type Size Used Avail Use% Mounted on
/dev/mapper/vg1-lv1 xfs 1.7G 34M 1.7G 2% /mnt/lv1
/dev/mapper/vg1-lv2 ext4 74M 1.6M 67M 3% /mnt/lv2
[root@linux-server ~]# umount /mnt/lv2/