Skip to content
Permalink
Branch: master
Find file Copy path
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
445 lines (349 sloc) 16.9 KB
## dd
time dd if=/dev/zero of=/testw.dbf bs=1M count=1000
time dd if=/testw.dbf of=/dev/null bs=1M
time dd if=/dev/sdb of=/dev/null bs=1M count=1000
df
sudo fdisk -l
ls -l /dev/disk/by-uuid/
//可以用来查看分区的文件系统
df -T
du -h --max-depth=1
/var/lib/mysql
## lvm
磁盘 /dev/sda:8589 MB, 8589934592 字节,16777216 个扇区
# Start End Size Type Name
1 2048 821247 400M EFI System EFI System Partition
2 821248 1640447 400M Microsoft basic
3 1640448 14239743 6G Linux LVM
磁盘 /dev/sdb:4294 MB, 4294967296 字节,8388608 个扇区
磁盘 /dev/mapper/centos-root:2147 MB, 2147483648 字节,4194304 个扇区
磁盘 /dev/mapper/centos-home:4294 MB, 4294967296 字节,8388608 个扇区
# 显示lvm状态 物理
[root@localhost home]# pvdisplay
--- Physical volume ---
PV Name /dev/sda3
VG Name centos
PV Size <6.01 GiB / not usable 4.00 MiB
Allocatable yes
PE Size 4.00 MiB
Total PE 1537
Free PE 1
Allocated PE 1536
PV UUID oN1RJI-6c6M-gR0J-LsO0-ldiY-3dTY-hVrQcP
[root@localhost home]# pvdisplay /dev/sda3
--- Physical volume ---
PV Name /dev/sda3
VG Name centos
PV Size <6.01 GiB / not usable 4.00 MiB
Allocatable yes
PE Size 4.00 MiB
Total PE 1537
Free PE 1
Allocated PE 1536
PV UUID oN1RJI-6c6M-gR0J-LsO0-ldiY-3dTY-hVrQcP
[root@localhost home]# lvdisplay
--- Logical volume ---
LV Path /dev/centos/root
LV Name root
VG Name centos
LV UUID WxphfJ-UfbA-XF4o-zRBi-GDU7-Cnx9-vBN9PA
LV Write Access read/write
LV Creation host, time localhost, 2018-09-02 05:42:13 +0800
LV Status available
# open 1
LV Size 2.00 GiB
Current LE 512
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 8192
Block device 253:0
--- Logical volume ---
LV Path /dev/centos/home
LV Name home
VG Name centos
LV UUID Lj99b2-mPlq-xZMv-cHzc-R9Y1-pLfI-DfJMeR
LV Write Access read/write
LV Creation host, time localhost, 2018-09-02 05:42:13 +0800
LV Status available
# open 1
LV Size 4.00 GiB
Current LE 1024
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 8192
Block device 253:1
fdisk /dev/sdb
命令(输入 m 获取帮助):g
命令(输入 m 获取帮助):n
fdisk /dev/sdb
命令(输入 m 获取帮助):l
1 EFI System C12A7328-F81F-11D2-BA4B-00A0C93EC93B
2 MBR partition scheme 024DEE41-33E7-11D3-9D69-0008C781F39F
4 BIOS boot 21686148-6449-6E6F-744E-656564454649
10 Microsoft reserved E3C9E316-0B5C-4DB8-817D-F92DF00215AE
11 Microsoft basic data EBD0A0A2-B9E5-4433-87C0-68B6B72699C7
12 Microsoft LDM metadata 5808C8AA-7E8F-42E0-85D2-E1E90434CFB3
13 Microsoft LDM data AF9B60A0-1431-4F62-BC68-3311714A69AD
14 Windows recovery environment DE94BBA4-06D1-4D40-A16A-BFD50179D6AC
19 Linux swap 0657FD6D-A4AB-43C4-84E5-0933C84B4F4F
20 Linux filesystem 0FC63DAF-8483-4772-8E79-3D69D8477DE4
21 Linux server data 3B8F8425-20E0-4F3B-907F-1A25A76F98E8
22 Linux root (x86) 44479540-F297-41B2-9AF7-D131D5F0458A
23 Linux root (ARM) 69DAD710-2CE4-4E3C-B16C-21A1D49ABED3
24 Linux root (x86-64) 4F68BCE3-E8CD-4DB1-96E7-FBCAF984B709
25 Linux root (ARM-64) B921B045-1DF0-41C3-AF44-4C6F280D3FAE
26 Linux root (IA-64) 993D8D3D-F80E-4225-855A-9DAF8ED7EA97
31 Linux LVM E6D6D379-F507-44C2-A23C-238F2A3DF928
命令(输入 m 获取帮助):t
31 分区设置为lvm
命令(输入 m 获取帮助):w
# 增加 物理分区pvdisplay
[root@localhost home]# pvcreate /dev/sdb1
Physical volume "/dev/sdb1" successfully created.
# lvdisplay
[root@localhost home]# lvdisplay
VG Name centos
[root@localhost home]# vgextend centos /dev/sdb1
Volume group "centos" successfully extended
[root@localhost home]# vgdisplay
--- Volume group ---
VG Name centos
Format lvm2
VG Size 10.00 GiB
PE Size 4.00 MiB
Total PE 2560
Alloc PE / Size 1536 / 6.00 GiB
Free PE / Size 1024 / 4.00 GiB
VG UUID vvz1qO-JGyc-s12e-82hd-xiBJ-sD2s-VwoljO
# 给虚拟分区增加空间
# pvdisplay /dev/centos/home
# fstab or df /dev/mapper/centos-home
lvextend -L +1G /dev/mapper/centos-home
lvextend -L +10G /dev/centos/root
lvextend -L +1G /dev/centos/home
[root@localhost ~]# lvextend -L +1G /dev/mapper/centos-home
Size of logical volume centos/home changed from 4.00 GiB (1024 extents) to 5.00 GiB (1280 extents).
Logical volume centos/home successfully resized.
[root@localhost ~]# lvextend -L +1G /dev/mapper/c^Ctos-home
[root@localhost ~]# lvextend -L +1G /dev/centos/home
Size of logical volume centos/home changed from 5.00 GiB (1280 extents) to 6.00 GiB (1536 extents).
Logical volume centos/home successfully resized.
# 应用系统文件系统识别使用新增空间
# cat /etc/fstab 确认文件系统分区ext4 or xfs
# ext4
resize2fs /dev/mapper/centos-home
# xfs xfs文件系统只支持增大分区空间的情况,不支持减小的情况(切记!!!!!)。
xfs_growfs /dev/mapper/centos-home
[root@localhost ~]# xfs_growfs /dev/mapper/centos-home
meta-data=/dev/mapper/centos-home isize=512 agcount=4, agsize=262144 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0 spinodes=0
data = bsize=4096 blocks=1048576, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal bsize=4096 blocks=2560, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
data blocks changed from 1048576 to 1572864
# centos7 添加xfs 新硬盘
# fdisk -l
fdisk /dev/sdb
g create a new empty GPT partition table
n add a new partition
w write table to disk and exit
mkfs.xfs -f /dev/sdb
blkid /dev/sdb
mount /dev/sdb /home/dk
# /etc/fstab
/dev/sdb /home/dk xfs defaults,rw 0 0
/dev/sdb /home/data xfs defaults 0 0
/dev/sdb /home/data xfs defaults,rw 0 2
[root@cv dk]# blkid # 查看磁盘设备UUID
/dev/sdb: UUID="65c92b83-b97b-4798-8e57-c2bee4f4d219" TYPE="xfs"
/dev/sda1: LABEL="centos7" UUID="1cde9bd9-8f07-4184-be75-240c8360b515" TYPE="xfs"
Linux中/etc/fstab配置项里最后两个数字是什么意思
[root@localhost software]# vi /etc/fstab
# # /etc/fstab # Created by anaconda on Sat Jun 8 16:22:16 2013 # # Accessible filesystems, by reference, are maintained under '/dev/disk' # See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info #
UUID=3adeaadc-36c6-4b3b-bf99-aca7e6dfc15f / ext4 defaults 1 1
UUID=6a44e4ad-56b4-4877-8da4-e0bc21979b16 /boot ext4 defaults 1 2 UUID=e9ad5c94-6eee-4927-998a-9ce6024be355 /webserver ext4 defaults 1 2 UUID=5879d097-eadb-4ad2-bbb1-1b3323e86192 swap swap defaults 0 0 tmpfs
/dev/shm tmpfs defaults 0 0
devpts /dev/pts devpts gid=5,mode=620 0 0
sysfs /sys sysfs defaults 0 0
第一个叫fs_freq,用来决定哪一个文件系统需要执行dump操作(dump执行ext2的文件系统的备份操作),
0就是不需要;
第二个叫fs_passno,是系统重启时fsck程序检测磁盘(fsck检测和修复文件系统)的顺序号,
0表示该文件系统不被检测, 1是root文件系统,2是别的文件系统。fsck按序号检测磁盘
第一项 第二项 第三项 第四项 第五项 第六项
/dev/cdrom /mnt iso9660 defautlts 0 0
第一项:想要挂载的设备 第二项:挂载点 第三项:挂载格式
第四项:文件系统参数。
例如:async/sync(是否允许磁盘于内存中的数据异/同步写入) ,auto/noauto(启动时自动/非自动载入该分区),rw/ro(该分区以读写/只读方式载入),
exec/noexec(限制在此文件系统内是否可以进行“执行”操作),
user/nouser(确定是否允许用户使用mount命令来载入),
suid/nosuid(设置该文件系统是否允许SUID权限的存在),
usrquota(启动文件系统支持磁盘配额模式),
grpquota(启动文件系统对用户组磁盘配额模式的支持),
defautlts(同时具有rw,suid,dev,exec,anto,nouser,async等参数)。
第五项:dump备份命令 第六项:在启动时是否以fsck检验分区(0是不要检验,1是要检验,2也是要检验,不过1会比2早被检验。)
# lvm 高级
dm:device mapper将一个或多个底层块设备组织成一个逻辑设备的模块
设备名:/dev/dm-# //系统自动分配,常用软链接定义
软链接:两种方式表示
/dev/mapper/卷组-逻辑卷
/dev/卷组/逻辑卷
LVM可以弹性的修改容量
基本概念:
pv //物理卷
vg //卷组
lv //逻辑卷
若是减小分区空间,减小前必须要先卸载这个分区。如果卸载有问题,解决如下:
[root@localhost ~]# umount /home/
umount: /home: device is busy.
(In some cases useful info about processes that use
the device is found by lsof(8) or fuser(1))
提示无法卸载,则是有进程占用/home,使用如下命令来终止占用进程:
[root@localhost ~]# fuser -m -k /home
/home: 1409 1519ce 1531e 1532e 1533e 1534e 1535e 1536e 1537e 1538e 1539e 1541e 1543e 1544e 1545e 1546e 1547e 1548e 1549e 1550e 1601m
迁移卷组到新系统
umount /mnt/lv/
#确保卷组名跟目标设备不一样
vgrename v-group newvg0
#修改卷组名为newvg0,或者提前查看目标设备的卷组名称,只要不一样就行
#只要卷组名不一样就行,逻辑卷名称可改也可不改
lvrename /dev/newvg0/logical-v newlv0
实验三 迁移卷组到新系统
源设备操作:
1、取消挂载卷组中的所有逻辑卷
[root@CentOs6 ~]#umount /mnt/lv/
#取消本机挂载
2、确保卷组名跟目标设备不一样
[root@CentOs6 ~]#vgrename v-group newvg0
Volume group "v-group" successfully renamed to "newvg0"
#修改卷组名为newvg0,或者提前查看目标设备的卷组名称,只要不一样就行
#只要卷组名不一样就行,逻辑卷名称可改也可不改
[root@CentOs6 ~]#lvrename /dev/newvg0/logical-v newlv0
Renamed "logical-v" to "newlv0" in volume group "newvg0"
#逻辑卷改名为newlv0
3、设置逻辑卷为非活动状态,也就是说逻辑卷现在不可用
[root@CentOs6 ~]#vgchange -a n newvg0
0 logical volume(s) in volume group "newvg0" now active
#卷组中0个逻辑卷是活动状态,-a n表示使逻辑卷无效
[root@CentOs6 ~]#lvdisplay
LV Status NOT available #LV无效
4、导出卷组
12345 [root@CentOs6 ~]#vgexport newvg0
Volume group "newvg0" successfully exported
#导出卷组
[root@CentOs6 ~]#pvscan #扫描磁盘物理卷
[root@CentOs6 ~]#pvdisplay #会发现物理卷对应的卷组都是exported状态
5、拆除硬盘,换到目标设备上
在vmware上我们把磁盘文件挂载到目标设备上
我的是下面这三个虚拟机磁盘文件
CentOs6.9\CentOS6.9-3.vmdk
CentOs6.9\CentOS6.9-4.vmdk
CentOs6.9\CentOS6.9-5.vmdk
将这三个文件添加到目标设备上,我的目标设备是centos7
目标设备操作:
1、扫描发现磁盘
[root@CentOS7 ~]#echo '- - - ' > /sys/class/scsi_host/host2/scan
[root@CentOS7 ~]#lsblk
#扫描磁盘,然后检查卷组是否存在
2、扫描物理卷,然后导入卷组
[root@CentOS7 ~]#pvscan #扫描物理卷
PV /dev/sdb1 is in exported VG newvg0 [1.01 GiB / 8.00 MiB free]
PV /dev/sdc1 is in exported VG newvg0 [1.01 GiB / 1.01 GiB free]
PV /dev/sdd1 is in exported VG newvg0 [1.01 GiB / 1.01 GiB free]
Total: 3 [3.02 GiB] / in use: 3 [3.02 GiB] / in no VG: 0 [0 ]
[root@CentOS7 ~]#vgimport newvg0 #导入卷组,使用新组名
Volume group "newvg0" successfully imported
[root@CentOS7 ~]#vgdisplay newvg0 //检查卷组信息
3、激活逻辑卷
[root@CentOS7 ~]#vgchange -a y newvg0
1 logical volume(s) in volume group "newvg0" now active
[root@CentOS7 ~]#lvdisplay
#激活逻辑卷,并查看结果,这里我只做了一个逻辑卷
#还可以使用blkid、vgdisplay、pvdisplay等命令查看结果
#其实还可以在原设备逻辑卷中提前存放一些数据,等迁移完成到目标设备后,我们再查看逻辑卷内的数据是否还存在。
实验四 移除卷组中的磁盘
第1步:将要移除的磁盘的数据移到其他逻辑卷
把数据搬到同一卷组其他逻辑卷,要保证卷组有足够的空间,搬的是存储空间,里面可能有数据
1234567891011121314 [root@CentOS7 ~]#pvmove /dev/sdb1
#把/dev/sdb磁盘PE空间迁移至其他逻辑卷,本实验1个磁盘上建1个分区
[root@CentOS7 ~]#pvdisplay /dev/sdb1 #sdb已经没有空间在使用了
--- Physical volume ---
PV Name /dev/sdb1
VG Name newvg0
PV Size 1.01 GiB / not usable 3.41 MiB
Allocatable yes
PE Size 4.00 MiB
Total PE 258
Free PE 258
Allocated PE 0
PV UUID iRkKni-iG3a-U38w-bXGn-aIGV-bP14-Pua8bc
#还可以查看其他逻辑卷的PE free空间减少,就是因为接收了sdb1转移的PE
第2步:从卷组中移除物理卷
[root@CentOS7 ~]#vgreduce newvg0 /dev/sdb1 #移除sdb
Removed "/dev/sdb1" from volume group "newvg0"
[root@CentOS7 ~]#vgdisplay #查看信息
第3步:从物理卷中移除
[root@CentOS7 ~]#pvremove /dev/sdb1 #移除
Labels on physical volume "/dev/sdb1" successfully wiped.
[root@CentOS7 ~]#pvdisplay
#移除物理卷后,就看不到原物理卷信息了
实验五 逻辑卷管理快照
快照是特殊的逻辑卷,快照存放的是改过的文件的最早的版本,只是备份修改的文件。快照与对应的逻辑卷必须在同一个卷组,而且恢复时的文件容量不能超过快照大小
测试环境使用快照较多
生产环境会消耗更多的性能,所以一般不用
第1步:创建快照
[root@CentOS7 ~]#lvcreate -L 100M -s -n snap -p r /dev/newvg0/newlv0
Using default stripesize 64.00 KiB.
Logical volume "snap" created.
#创建快照,-s表示快照,-L指定快照容量,-n是快照名,-p r快照权限只读
#我们对逻辑卷newlv0做快照
[root@CentOS7 ~]#lvdisplay
#此命令可以查看逻辑卷快照信息
第2步:挂载快照
1234 [root@CentOS7 ~]#mkdir /mnt/snap
[root@CentOS7 ~]#mount /dev/newvg0/snap /mnt/snap/
mount: /dev/mapper/newvg0-snap is write-protected, mounting read-only
#快照挂载到一个挂载点,挂载时提示写保护,但还是成功挂载,可以df查看
第3步:使用快照恢复数据
上述步骤对逻辑卷newlv0做了快照,而newlv0挂载到了/mnt/lv目录下,现在把此目录下的文件newlv0删除然使用快照恢复
[root@CentOS7 ~]#rm -f /mnt/lv/newlv0 #删除原文件
[root@CentOS7 ~]#umount /dev/newvg0/snap
[root@CentOS7 ~]#umount /dev/newvg0/newlv0
#首先取消挂载逻辑卷与快照
[root@CentOS7 ~]#lvconvert --merge /dev/newvg0/snap
Merging of volume newvg0/snap started.
newlv0: Merged: 100.00%
#使用快照恢复数据,此命令会自动识别逻辑卷的路径
[root@CentOS7 ~]#mount /dev/newvg0/newlv0 /mnt/lv
[root@CentOS7 ~]#ll /mnt/lv/
-rw-r--r--. 1 root root 0 Aug 12 14:45 newlv0
#最后我们再把逻辑卷挂载就可以看到被删除的文件了
#恢复完数据快照逻辑卷会自动消失
第4步:实验结束删除快照和逻辑卷(已经提前给逻辑卷newlv0创建一个快照snap-data,也要删除)
[root@CentOS7 ~]#umount /mnt/snap/
[root@CentOS7 ~]#umount /mnt/lv
[root@CentOS7 ~]#umount /mnt/lv1/
[root@CentOS7 ~]#lvremove /dev/newvg0/snap-data
[root@CentOS7 ~]#lvremove /dev/newvg0/newlv0
[root@CentOS7 ~]#lvremove /dev/newvg0/newlv1
#先取消挂载,然后移除所有逻辑卷,包括快照
[root@CentOS7 ~]#vgs
VG #PV #LV #SN Attr VSize VFree
newvg0 3 0 0 wz--n- 4.01g 4.01g
#此时vg内的逻辑卷为空
[root@CentOS7 ~]#vgremove newvg0
Volume group "newvg0" successfully removed
#删除卷组,这时候vgs查看都是空
[root@CentOS7 ~]#pvremove /dev/sdc1
[root@CentOS7 ~]#pvremove /dev/sdd1
[root@CentOS7 ~]#pvremove /dev/sdd2
#删除物理卷,pvs就看不到任何信息了
至此所有的快照、逻辑卷、卷组和物理卷全部清空
删除逻辑卷顺序:
快照--逻辑卷--卷组--物理卷
https://www.linuxidc.com/Linux/2017-09/146744.htm
You can’t perform that action at this time.