介绍:磁盘分区命令此链接 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、目录 硬:不, 软:可以
=======================================================================================
当分区创建好之后,如/dev/sda1 当sda1空间不够时,是无法扩大的。 而如果之前是逻辑卷,则可以扩展。逻辑卷的空间来自于卷组,卷组是个逻辑概念,逻辑卷空间不够,可有卷组来扩增,而卷组不够,可以有物理设备为物理卷,再添加进卷组
把卷组看成是由多个PE组成,PE可以认为指定,则卷组可有PE扩增或者减少,分区或者硬盘都可以当PE 在用分区当PE时,fdisk /dev/sda 命令时,L选项查看各种分区类型,把id改为8e (linux LVM)
1、创建linux lvm =============== [root@centos7:~]# fdisk /dev/sdb ****省略**** Hex code (type L to list all codes): 8e ****省略****
[root@centos7:~]# fdisk /dev/sdc Hex code (type L to list all codes): 8e
2、创建物理卷=================== [root@centos7:~]# pvcreate /dev/sd{b,c}1 Physical volume "/dev/sdb1" successfully created. Physical volume "/dev/sdc1" successfully created.
[root@centos7:~]# 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"
[root@centos7:~]# 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
[root@centos7:~]# pvs PV VG Fmt Attr PSize PFree /dev/sdb1 lvm2 --- 1.00g 1.00g /dev/sdc1 lvm2 --- 1.00g 1.00g [root@centos7:~]# vgs #简略信息 [root@centos7:~]# vgdisplay #详细信息
3、创建卷组=============== [root@centos7:~]# vgcreate -s 16M vg0 /dev/sd{b,c}1 #PE大小16M Volume group "vg0" successfully created
[root@centos7:~]# 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 [root@centos7:~]# 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
[root@centos7:~]# vgs VG #PV #LV #SN Attr VSize VFree vg0 2 0 0 wz--n- <1.97g <1.97g [root@centos7:~]# 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、创建逻辑卷================== [root@centos7:~]# lvcreate -n lv0 -l 100 vg0 #n逻辑卷名称 -l指定PE个数 Logical volume "lv0" created. [root@centos7:~]# lvs LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert lv0 vg0 -wi-a----- 1.56g [root@centos7:~]# 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 [root@centos7:~]# ll /dev/vg0/lv0 lrwxrwxrwx 1 root root 7 Jul 27 15:17 /dev/vg0/lv0 -> ../dm-0 #device mapper
#剩余大小 [root@centos7:~]# vgs VG #PV #LV #SN Attr VSize VFree vg0 2 1 0 wz--n- <1.97g 416.00m
[root@centos7:~]# 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
[root@centos7:~]# lvcreate --help
[root@centos7:~]# lvcreate -n lv1 -l 100%FREE vg0 #-n指定名称,-l指定pe个数,-L指定容量 Logical volume "lv1" created. [root@centos7:~]# 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
[root@centos7:~]# vgs VG #PV #LV #SN Attr VSize VFree vg0 2 2 0 wz--n- <1.97g 0
[root@centos7:~]# lvdisplay [root@centos7:~]# ll /dev/vg0/lv1 lrwxrwxrwx 1 root root 7 Jul 27 15:20 /dev/vg0/lv1 -> ../dm-1 [root@centos7:~]# ll /dev/mapper/vg0-lv0 lrwxrwxrwx 1 root root 7 Jul 27 15:17 /dev/mapper/vg0-lv0 -> ../dm-0
5、创建文件系统 #查看是否有文件系统 [root@centos7:~]# blkid /dev/vg0/lv0
[root@centos7:~]# mkfs.ext4 /dev/vg0/lv0 [root@centos7:~]# 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" [root@centos7:~]# [root@centos7:~]# vim /etc/fstab UUID=616ca473-3216-4d2c-81a8-39bf5c51ad2d /mnt/lv0 ext4 defaults 0 0 [root@centos7:~]# mkdir /mnt/lv0 [root@centos7:~]# mount -a [root@centos7:~]# cp /etc/fstab /mnt/lv0 [root@centos7:~]# ls /mnt/lv0/ fstab lost+found
6、性能 [root@centos7:~]# 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
[root@centos7:~]# echo '- - - ' > /sys/class/scsi_host/host0/scan [root@centos7:~]# lsblk
[root@centos7:~]# pvs PV VG Fmt Attr PSize PFree /dev/sdb1 vg0 lvm2 a-- 1008.00m 0 /dev/sdc1 vg0 lvm2 a-- 1008.00m 0
[root@centos7:~]# pvcreate /dev/sdd #硬盘可以直接当PE Physical volume "/dev/sdd" successfully created. [root@centos7:~]# 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
[root@centos7:~]# vgextend vg0 /dev/sdd #扩展vg0 Volume group "vg0" successfully extended
[root@centos7:~]# 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
[root@centos7:~]# 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表示容量 [root@centos7:~]# 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. [root@centos7:~]# 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 [root@centos7:~]# df -h Filesystem Size Used Avail Use% Mounted on /dev/mapper/vg0-lv0 1.6G 505M 943M 35% /mnt/lv0
[root@centos7:~]# vgs VG #PV #LV #SN Attr VSize VFree vg0 3 2 0 wz--n- 7.95g 2.98g
#r选项表示扩展同时格式化文件系统,把剩余的全分给lv0 [root@centos7:~]# 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.
[root@centos7:~]# df -h Filesystem Size Used Avail Use% Mounted on /dev/mapper/vg0-lv0 7.5G 508M 6.6G 8% /mnt/lv0
#在线扩展,不影响使用
****************************************8 ***********************************888888
[root@centos7:~]# 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、卸载 [root@centos7:~]# umount /mnt/lv0
2、检查逻辑卷,正常应先检查逻辑卷 [root@centos7:~]# 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、若先调整文件系统大小,则会提示 [root@centos7:~]# resize2fs /dev/vg0/lv0 5G resize2fs 1.42.9 (28-Dec-2013) *****
4、减小逻辑卷 [root@centos7:~]# 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、在挂载 [root@centos7:~]# mount -a
查看逻辑卷大小
**************************
转移,把/dev/sdc1的pe转移到/dev/sdd ,sdc1大小1G,而sdd剩余空间2.55G
[root@centos7:~]# 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
[root@centos7:~]# 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 [root@centos7:~]# pvmove /dev/sdc1 /dev/sdc1: Moved: 11.11% /dev/sdc1: Moved: 58.73% /dev/sdc1: Moved: 100.00% [root@centos7:~]# 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
[root@centos7:~]# vgreduce vg0 /dev/sdc1 Removed "/dev/sdc1" from volume group "vg0
[root@centos7:~]# 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
[root@centos7:~]# 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.挂载
