13.2 磁盘分区之交换分区,raid命令,LVM--word
介绍:
磁盘分区命令此链接
1、交换分区,即用磁盘空间来充当内存空间(在电脑内存空间不足时才会用到交换分区:swap)
2、磁盘扩展时,有时会用到逻辑卷LVM,lvm命令介绍
3、顺便记录一下linux中的软硬链接的用法
目录
软硬链接
逻辑卷lvm
逻辑卷扩展
减小逻辑卷
删除vg中的pv
逻辑卷迁移
软硬链接
linux中的目录是
ln file1 file2 硬链接file2指向文件的索引节点inode 无法跨分区跨设备
stat查看文件的信息
ll -i 查看链接数 ;ln f2 f3
shred 覆盖磁盘文件很多次
shred -zvun 10 file2
----------------------------------
ln -s /app/f1 /root/f111
ll /root/f111 /app/f1软链接(路径绝对路径,这样不会找不到源文件)。但一般用相对路径
软链接/root/f111保存的只是路径
mkdir -p /app/dir1 /app/dir2/dir2/dir3/dir4
touch /app/dir1/file3
/app路径下:ln -s dir1/file3 dir2/dir2/dir3/dir4/file333
ll 查看软链接file333属性指向的源文件dir1/file3红色闪烁,表示失效。原因:在dir1路径下找不到dir2。解决方法如下
ln -s ../../../../dir1/file3 dir2/dir2/dir3/dir4/file3333 相对于软链接的路径。工作中一般用的相对路径
readlink /dir2/dri2/dir3/dir4/file3333 结果为../../../../dri1/file3
如果用绝对路径:ln -s /app/dir1/file3 dir2/dir2/dir3/dir4/file33333 ,也可以,但如果把/app整个目录移到/root目录下,则软链接file33333指向的源文件红色闪烁,软链接失效。而用相对路径没有问题
软链接:源文件的路径是相对路径,一定是相对于软链接文件的路径,而非相对于当前工作目录的路径
rm -f /app/f1删除,则/root/f111软链接失效
软和硬链接的区别
1、本质不同
硬链接是同一个文件,软链接不是同一个文件
2、删除
硬链接不影响,软链接失效
3、创建
硬:链接数加1,软:链接数不变
4、跨分区
硬:不 ,软:可以
5、目录
硬:不, 软:可以
=======================================================================================
逻辑卷lvm
当分区创建好之后,如/dev/sda1 当sda1空间不够时,是无法扩大的。
而如果之前是逻辑卷,则可以扩展。逻辑卷的空间来自于卷组,卷组是个逻辑概念,逻辑卷空间不够,可有卷组来扩增,而卷组不够,可以有物理设备为物理卷,再添加进卷组
把卷组看成是由多个PE组成,PE可以认为指定,则卷组可有PE扩增或者减少,分区或者硬盘都可以当PE
在用分区当PE时,fdisk /dev/sda 命令时,L选项查看各种分区类型,把id改为8e (linux LVM)
1、创建linux lvm ===============
[[email protected]:~]# fdisk /dev/sdb
****省略****
Hex code (type L to list all codes): 8e
****省略****
[[email protected]:~]# fdisk /dev/sdc
Hex code (type L to list all codes): 8e
2、创建物理卷===================
[[email protected]:~]# pvcreate /dev/sd{b,c}1
Physical volume "/dev/sdb1" successfully created.
Physical volume "/dev/sdc1" successfully created.
[[email protected]:~]# blkid
/dev/sr0: UUID="2018-05-07-12-53-47-00" LABEL="CentOS 7 x86_64" TYPE="iso9660" PTTYPE="dos"
/dev/sda1: UUID="38ac8148-66d5-47ee-bd6d-ce50ca048533" TYPE="xfs"
/dev/sda2: PTTYPE="dos"
/dev/sdb1: UUID="dXjhPQ-YAGb-3lMi-SnPf-KE1P-1FIl-GdenxS" TYPE="LVM2_member"
/dev/sdc1: UUID="macXXZ-JW8F-L7ag-n3N7-QWgR-fKG0-fzqOhh" TYPE="LVM2_member"
[[email protected]:~]# pvdisplay
"/dev/sdb1" is a new physical volume of "1.00 GiB"
--- NEW Physical volume ---
PV Name /dev/sdb1
VG Name
PV Size 1.00 GiB
Allocatable NO
PE Size 0
Total PE 0
Free PE 0
Allocated PE 0
PV UUID dXjhPQ-YAGb-3lMi-SnPf-KE1P-1FIl-GdenxS
"/dev/sdc1" is a new physical volume of "1.00 GiB"
--- NEW Physical volume ---
PV Name /dev/sdc1
VG Name
PV Size 1.00 GiB
Allocatable NO
PE Size 0
Total PE 0
Free PE 0
Allocated PE 0
PV UUID macXXZ-JW8F-L7ag-n3N7-QWgR-fKG0-fzqOhh
[[email protected]:~]# pvs
PV VG Fmt Attr PSize PFree
/dev/sdb1 lvm2 --- 1.00g 1.00g
/dev/sdc1 lvm2 --- 1.00g 1.00g
[[email protected]:~]# vgs #简略信息
[[email protected]:~]# vgdisplay #详细信息
3、创建卷组===============
[[email protected]:~]# vgcreate -s 16M vg0 /dev/sd{b,c}1 #PE大小16M
Volume group "vg0" successfully created
[[email protected]:~]# pvs
PV VG Fmt Attr PSize PFree
/dev/sdb1 vg0 lvm2 a-- 1008.00m 1008.00m
/dev/sdc1 vg0 lvm2 a-- 1008.00m 1008.00m
[[email protected]:~]# pvdisplay
--- Physical volume ---
PV Name /dev/sdb1
VG Name vg0
PV Size 1.00 GiB / not usable 16.00 MiB #16M一个pe,剩余不够16M的
Allocatable yes
PE Size 16.00 MiB #16M
Total PE 63
Free PE 63
Allocated PE 0
PV UUID dXjhPQ-YAGb-3lMi-SnPf-KE1P-1FIl-GdenxS
--- Physical volume ---
PV Name /dev/sdc1
VG Name vg0
PV Size 1.00 GiB / not usable 16.00 MiB
Allocatable yes
PE Size 16.00 MiB
Total PE 63
Free PE 63
Allocated PE 0
PV UUID macXXZ-JW8F-L7ag-n3N7-QWgR-fKG0-fzqOhh
[[email protected]:~]# vgs
VG #PV #LV #SN Attr VSize VFree
vg0 2 0 0 wz--n- <1.97g <1.97g
[[email protected]:~]# vgdisplay
--- Volume group ---
VG Name vg0 #逻辑上的大硬盘
System ID
Format lvm2
Metadata Areas 2
Metadata Sequence No 1
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 0
Open LV 0
Max PV 0
Cur PV 2
Act PV 2
VG Size <1.97 GiB
PE Size 16.00 MiB
Total PE 126
Alloc PE / Size 0 / 0
Free PE / Size 126 / <1.97 GiB
VG UUID k4G2xO-iNTO-VsOq-Afp2-sHH9-U3Yx-B5yEvq
4、创建逻辑卷==================
[[email protected]:~]# lvcreate -n lv0 -l 100 vg0 #n逻辑卷名称 -l指定PE个数
Logical volume "lv0" created.
[[email protected]:~]# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
lv0 vg0 -wi-a----- 1.56g
[[email protected]:~]# lvdisplay
--- Logical volume ---
LV Path /dev/vg0/lv0
LV Name lv0
VG Name vg0
LV UUID c0cbY4-CivU-hesx-4BIi-6NLT-MMt2-gTFksC
LV Write Access read/write
LV Creation host, time centos7, 2018-07-27 15:17:17 +0800
LV Status available
# open 0
LV Size 1.56 GiB
Current LE 100
Segments 2
Allocation inherit
Read ahead sectors auto
- currently set to 8192
Block device 253:0
[[email protected]:~]# ll /dev/vg0/lv0
lrwxrwxrwx 1 root root 7 Jul 27 15:17 /dev/vg0/lv0 -> ../dm-0
#device mapper
#剩余大小
[[email protected]:~]# vgs
VG #PV #LV #SN Attr VSize VFree
vg0 2 1 0 wz--n- <1.97g 416.00m
[[email protected]:~]# vgdisplay
--- Volume group ---
VG Name vg0
System ID
Format lvm2
Metadata Areas 2
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 2
Act PV 2
VG Size <1.97 GiB
PE Size 16.00 MiB
Total PE 126
Alloc PE / Size 100 / 1.56 GiB
Free PE / Size 26 / 416.00 MiB
VG UUID k4G2xO-iNTO-VsOq-Afp2-sHH9-U3Yx-B5yEvq
[[email protected]:~]# lvcreate --help
[[email protected]:~]# lvcreate -n lv1 -l 100%FREE vg0 #-n指定名称,-l指定pe个数,-L指定容量
Logical volume "lv1" created.
[[email protected]:~]# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
lv0 vg0 -wi-a----- 1.56g
lv1 vg0 -wi-a----- 416.00m
[[email protected]:~]# vgs
VG #PV #LV #SN Attr VSize VFree
vg0 2 2 0 wz--n- <1.97g 0
[[email protected]:~]# lvdisplay
[[email protected]:~]# ll /dev/vg0/lv1
lrwxrwxrwx 1 root root 7 Jul 27 15:20 /dev/vg0/lv1 -> ../dm-1
[[email protected]:~]# ll /dev/mapper/vg0-lv0
lrwxrwxrwx 1 root root 7 Jul 27 15:17 /dev/mapper/vg0-lv0 -> ../dm-0
5、创建文件系统
#查看是否有文件系统
[[email protected]:~]# blkid /dev/vg0/lv0
[[email protected]:~]# mkfs.ext4 /dev/vg0/lv0
[[email protected]:~]# blkid /dev/vg0/lv{0,1}
/dev/vg0/lv0: UUID="616ca473-3216-4d2c-81a8-39bf5c51ad2d" TYPE="ext4"
/dev/vg0/lv1: UUID="f4787bbd-b635-424a-b018-e085076f87a0" TYPE="ext4"
[[email protected]:~]#
[[email protected]:~]# vim /etc/fstab
UUID=616ca473-3216-4d2c-81a8-39bf5c51ad2d /mnt/lv0 ext4 defaults 0 0
[[email protected]:~]# mkdir /mnt/lv0
[[email protected]:~]# mount -a
[[email protected]:~]# cp /etc/fstab /mnt/lv0
[[email protected]:~]# ls /mnt/lv0/
fstab lost+found
6、性能
[[email protected]:~]# dd if=/dev/zero of=/mnt/lv0/fstab bs=1M count=500 conv=fdatasync
500+0 records in
500+0 records out
524288000 bytes (524 MB) copied, 3.5201 s, 149 MB/s
================================================================================
逻辑卷扩展
一、新增一个硬盘/dev/sdd
[[email protected]:~]# echo '- - - ' > /sys/class/scsi_host/host0/scan
[[email protected]:~]# lsblk
[[email protected]:~]# pvs
PV VG Fmt Attr PSize PFree
/dev/sdb1 vg0 lvm2 a-- 1008.00m 0
/dev/sdc1 vg0 lvm2 a-- 1008.00m 0
[[email protected]:~]# pvcreate /dev/sdd #硬盘可以直接当PE
Physical volume "/dev/sdd" successfully created.
[[email protected]:~]# pvs
PV VG Fmt Attr PSize PFree
/dev/sdb1 vg0 lvm2 a-- 1008.00m 0
/dev/sdc1 vg0 lvm2 a-- 1008.00m 0
/dev/sdd lvm2 --- 6.00g 6.00g
[[email protected]:~]# vgextend vg0 /dev/sdd #扩展vg0
Volume group "vg0" successfully extended
[[email protected]:~]# vgdisplay
--- Volume group ---
VG Name vg0
System ID
Format lvm2
Metadata Areas 3
Metadata Sequence No 4
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 2
Open LV 1
Max PV 0
Cur PV 3
Act PV 3
VG Size 7.95 GiB
PE Size 16.00 MiB
Total PE 509
Alloc PE / Size 126 / <1.97 GiB
Free PE / Size 383 / 5.98 GiB
VG UUID k4G2xO-iNTO-VsOq-Afp2-sHH9-U3Yx-B5yEvq
[[email protected]:~]# lv #tab键补全
lvchange lvdisplay lvmconf lvmdump lvmsadc lvremove lvs
lvconvert lvextend lvmconfig lvmetad lvmsar lvrename lvscan
lvcreate lvm lvmdiskscan lvmpolld lvreduce lvresize
#+3G表示增加3G, 如果为3G表示增加后的总容量为3G。-l表示pe个数,L表示容量
[[email protected]:~]# lvextend -L +3G /dev/vg0/lv0
Size of logical volume vg0/lv0 changed from 1.56 GiB (100 extents) to 4.56 GiB (292 extents).
Logical volume vg0/lv0 successfully resized.
[[email protected]:~]# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
lv0 vg0 -wi-ao---- 4.56g
lv1 vg0 -wi-a----- 416.00m
#未格式化文件系统,故而虽然逻辑卷大小为4.56G,但文件仍为1.6G
[[email protected]:~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vg0-lv0 1.6G 505M 943M 35% /mnt/lv0
[[email protected]:~]# vgs
VG #PV #LV #SN Attr VSize VFree
vg0 3 2 0 wz--n- 7.95g 2.98g
#r选项表示扩展同时格式化文件系统,把剩余的全分给lv0
[[email protected]:~]# lvextend -r -l +100%FREE /dev/vg0/lv0
Size of logical volume vg0/lv0 changed from 4.56 GiB (292 extents) to <7.55 GiB (483 extents).
Logical volume vg0/lv0 successfully resized.
resize2fs 1.42.9 (28-Dec-2013)
Filesystem at /dev/mapper/vg0-lv0 is mounted on /mnt/lv0; on-line resizing required
old_desc_blocks = 1, new_desc_blocks = 1
The filesystem on /dev/mapper/vg0-lv0 is now 1978368 blocks long.
[[email protected]:~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vg0-lv0 7.5G 508M 6.6G 8% /mnt/lv0
#在线扩展,不影响使用
****************************************8
***********************************888888
减小逻辑卷
[[email protected]:~]# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
lv0 vg0 -wi-ao---- <7.55g
lv1 vg0 -wi-a----- 416.00m
逻辑卷中,xfs系统只能扩,不能减小,减小前先备份,再卸载,离线减小
思路:备份,卸载,检查逻辑卷,调整文件系统大小,调整逻辑卷大小,再减小逻辑卷大小
1、卸载
[[email protected]:~]# umount /mnt/lv0
2、检查逻辑卷,正常应先检查逻辑卷
[[email protected]:~]# fsck -f /dev/vg0/lv0
fsck from util-linux 2.23.2
e2fsck 1.42.9 (28-Dec-2013)
/dev/mapper/vg0-lv0 is mounted.
e2fsck: Cannot continue, aborting.
3、若先调整文件系统大小,则会提示
[[email protected]:~]# resize2fs /dev/vg0/lv0 5G
resize2fs 1.42.9 (28-Dec-2013)
*****
4、减小逻辑卷
[[email protected]:~]# lvreduce -L 5G /dev/vg0/lv0
WARNING: Reducing active and open logical volume to 5.00 GiB.
THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce vg0/lv0? [y/n]: y
Size of logical volume vg0/lv0 changed from <7.55 GiB (483 extents) to 5.00 GiB (320 extents).
Logical volume vg0/lv0 successfully resized.
5、在挂载
[[email protected]:~]# mount -a
查看逻辑卷大小
**************************
删除vg中的pv
转移,把/dev/sdc1的pe转移到/dev/sdd ,sdc1大小1G,而sdd剩余空间2.55G
[[email protected]:~]# pvs
PV VG Fmt Attr PSize PFree
/dev/sdb1 vg0 lvm2 a-- 1008.00m 0
/dev/sdc1 vg0 lvm2 a-- 1008.00m 0
/dev/sdd vg0 lvm2 a-- 5.98g <2.55g
[[email protected]:~]# pvdisplay
--- Physical volume ---
PV Name /dev/sdb1
VG Name vg0
PV Size 1.00 GiB / not usable 16.00 MiB
Allocatable yes (but full)
PE Size 16.00 MiB
Total PE 63
Free PE 0
Allocated PE 63
PV UUID dXjhPQ-YAGb-3lMi-SnPf-KE1P-1FIl-GdenxS
--- Physical volume ---
PV Name /dev/sdc1
VG Name vg0
PV Size 1.00 GiB / not usable 16.00 MiB
Allocatable yes (but full)
PE Size 16.00 MiB
Total PE 63
Free PE 0
Allocated PE 63
PV UUID macXXZ-JW8F-L7ag-n3N7-QWgR-fKG0-fzqOhh
--- Physical volume ---
PV Name /dev/sdd
VG Name vg0
PV Size 6.00 GiB / not usable 16.00 MiB
Allocatable yes
PE Size 16.00 MiB
Total PE 383
Free PE 163
Allocated PE 220
PV UUID quYkSJ-mfby-4sBu-73OE-l6fl-Ep9U-8JYouj
由上述分析,pvmove /dev/sdc1 移到其它物理卷,即sdd
[[email protected]:~]# pvmove /dev/sdc1
/dev/sdc1: Moved: 11.11%
/dev/sdc1: Moved: 58.73%
/dev/sdc1: Moved: 100.00%
[[email protected]:~]# pvdisplay
--- Physical volume ---
PV Name /dev/sdb1
VG Name vg0
PV Size 1.00 GiB / not usable 16.00 MiB
Allocatable yes (but full)
PE Size 16.00 MiB
Total PE 63
Free PE 0
Allocated PE 63
PV UUID dXjhPQ-YAGb-3lMi-SnPf-KE1P-1FIl-GdenxS
--- Physical volume ---
PV Name /dev/sdc1
VG Name vg0
PV Size 1.00 GiB / not usable 16.00 MiB
Allocatable yes
PE Size 16.00 MiB
Total PE 63
Free PE 63
Allocated PE 0 #变为0 #############
PV UUID macXXZ-JW8F-L7ag-n3N7-QWgR-fKG0-fzqOhh
--- Physical volume ---
PV Name /dev/sdd
VG Name vg0
PV Size 6.00 GiB / not usable 16.00 MiB
Allocatable yes
PE Size 16.00 MiB
Total PE 383
Free PE 100
Allocated PE 283
PV UUID quYkSJ-mfby-4sBu-73OE-l6fl-Ep9U-8JYouj
[[email protected]:~]# vgreduce vg0 /dev/sdc1
Removed "/dev/sdc1" from volume group "vg0
[[email protected]:~]# pvdisplay
"/dev/sdc1" is a new physical volume of "1.00 GiB"
--- NEW Physical volume ---
PV Name /dev/sdc1
VG Name
PV Size 1.00 GiB
Allocatable NO
PE Size 0
Total PE 0
Free PE 0
Allocated PE 0
PV UUID macXXZ-JW8F-L7ag-n3N7-QWgR-fKG0-fzqOhh
[[email protected]:~]# pvremove /dev/sdc1
Labels on physical volume "/dev/sdc1" successfully wiped.
============================================================
============================================================
逻辑卷迁移
三、迁移逻辑卷,就电脑磁盘卸掉,放到新电脑继续使用
1.增加一个独立文件的虚拟磁盘到源主机/dev/sdk
2.将该磁盘做为PV,扩展进卷组
3.将所有数据都移动到将要拆卸的物理卷上
pvmove /dev/md5 /dev/sdk
4.将源卷组设置为非**
vgchange -an vgdhy vgdhy为卷组名
5.如果卷组中除了要拆卸的硬盘外还有其他的PV,则进行lvreduce,如没有,直接第6步
vgreduce vgdhy /dev/md1 /dev/md5 /dev/sdi /dev/sdj 这些pv复制到dev/sdk后删除
6.将源卷组设置为export状态
vgexport vgdhy
7.拔硬盘,并加到目标主机
8.把vgdhy设置为import
vgimport vgdhy
9.把卷组设置为**
lvchange -ay vgdhy
10.挂载