2018.4.11 三周第三次课

LVM讲解(扩容缩容)

概念:LVM是logical volume manager的缩写(逻辑分区),方便对于对圈组、逻辑卷的大小进行调整,更进一步调整文件系统的大小。
优点:在使用很多硬盘的大系统中,使用LVM主要是方便管理、增加了系统的扩展性。

准备磁盘分区,先把硬盘umount
第一步:

添加硬盘进行分区:
[[email protected] ~]# fdisk /dev/sdb

第二步:创建三个新分区,分别是1G, n

第三步:-t 改变分区类型为8e(LVM),只有这样才可以做物理卷

命令(输入 m 获取帮助):t
分区号 (1,2,默认 2):1
Hex 代码(输入 L 列出所有代码):8e
.
设备 Boot Start End Blocks Id System
/dev/sdb1 2048 2099199 1048576 8e Linux LVM
/dev/sdb2 2099200 4196351 1048576 8e Linux LVM
/dev/sdb3 4196352 6293503 1048576 8e Linux LVM

接下来准备物理卷
安装个命令 pvcreate(创建物理卷、列出当卡物理卷、删除物理卷)

如果在这里你知道这个命令,但是你安装不了这个包,那就使用如下命令安装,利用通配的命令安装

[[email protected] ~]# yum provides "/*/pvcreate" 根下所有文件里面pvcreate的命令
[[email protected] ~]# yum install -y lvm2 #ok,依赖包都安装完毕

如果创建完分区后,目录下并没有这个路径,使用 partprobe添加进去

[[email protected] ~]# ls /dev/sdb1
ls: cannot access /dev/sdb1: No such file or directory #没有那个文件或目录
[[email protected] ~]# partprobe 添加分区的路径,自动生成
[[email protected] ~]# ls /dev/sdb1 查看分区是否存在
/dev/sdb1

接下来把三个分区,全部改成物理卷

[[email protected] ~]# pvcreate /dev/sdb1
Physical volume "/dev/sdb1" successfully created. #已成功创建物理卷
[[email protected] ~]# pvcreate /dev/sdb2
Physical volume "/dev/sdb2" successfully created. #已成功创建物理卷
[[email protected] ~]# pvcreate /dev/sdb3
Physical volume "/dev/sdb3" successfully created. #已成功创建物理卷

**物理机创建完成以后,用pvdisplay查看一下物理卷**

[[email protected] ~]# pvdisplay
或者[email protected] ~]# pvs

创建卷组vgcreate vg1 /dev/sdb1 /dev/sdb2,vg1是卷组的名字

[[email protected] ~]# vgcreate vg1 /dev/sdb1 /dev/sdb2
Volume group "vg1" successfully created #创建成功

查看卷组的信息 vgdisplay或者vgs

[[email protected] ~]# vgs
VG #PV #LV #SN Attr VSize VFree
vg1 2 0 0 wz--n- 1.99g 1.99g

vgremove 删除卷组的命令

创建逻辑卷

[[email protected] ~]# lvcreate -L 100M -n lv1 vg1
Logical volume "lv1" created. #创建成功

lvcreate创建逻辑卷,-L 100M指定大小,-n lv1 逻辑卷的名字,vg1从卷组里面调用出来

格式化成mkfs.ext4,适合做扩容

[[email protected] ~]# mkfs.ext4 /dev/vg1/lv1

挂载逻辑卷

[[email protected] ~]# mount /dev/vg1/lv1 /mnt/ #挂载到/mnt/下
[[email protected] ~]# df -h #查看挂载
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 18G 1.1G 17G 7% /
devtmpfs 483M 0 483M 0% /dev
tmpfs 493M 0 493M 0% /dev/shm
tmpfs 493M 6.8M 486M 2% /run
tmpfs 493M 0 493M 0% /sys/fs/cgroup
/dev/sda1 197M 97M 100M 50% /boot
tmpfs 99M 0 99M 0% /run/user/0
/dev/mapper/vg1-lv1 93M 1.6M 85M 2% /mnt #这里名字怎么跟挂载的不一样呢,下面会解释

用ls -l 查看一下这俩个路径的依赖关系。

实际上这俩个路径都指向了一个文件



.
下面来做一下扩容的操作,先创建个目录和文件

[[email protected] ~]# mkdir /mnt/111 #创建个目录
[[email protected] ~]# touch /mnt/222.txt #创建个文件
[[email protected] ~]# echo "123123123" > /mnt/222.txt #给文件里追加文字

扩容逻辑卷

重新设置卷大小,先umount

[[email protected] ~]# lvresize -L 200M /dev/vg1/lv1

检查磁盘错误 (ext4执行)

[[email protected] ~]# e2fsck -f /dev/vg1/lv1
e2fsck 1.42.9 (28-Dec-2013)
Pass 1: Checking inodes, blocks, and sizes #检查inodes,块和大小
Pass 2: Checking directory structure #检查目录结构
Pass 3: Checking directory connectivity #检查目录链接
Pass 4: Checking reference counts #检查引用计数
Pass 5: Checking group summary information #检查组摘要信息
/dev/vg1/lv1: 13/25688 files (7.7% non-contiguous), 8899/102400 blocks

更新逻辑卷信息,如果不更新,再挂载的时候无法更新新的大小(ext4执行)

[[email protected] ~]# resize2fs /dev/vg1/lv1
resize2fs 1.42.9 (28-Dec-2013)
Resizing the filesystem on /dev/vg1/lv1 to 204800 (1k) blocks. #调整文件系统到204800(1K)块的大小
The filesystem on /dev/vg1/lv1 is now 204800 blocks long. #文件系统上 现在是204800大小。

挂载,在查看文件大小

[[email protected] ~]# !mount
mount /dev/vg1/lv1 /mnt/
[[email protected] ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 18G 1.1G 17G 7% /
devtmpfs 483M 0 483M 0% /dev
tmpfs 493M 0 493M 0% /dev/shm
tmpfs 493M 6.8M 486M 2% /run
tmpfs 493M 0 493M 0% /sys/fs/cgroup
/dev/sda1 197M 97M 100M 50% /boot
tmpfs 99M 0 99M 0% /run/user/0
/dev/mapper/vg1-lv1 190M 1.6M 175M 1% /mnt #注意这一行,容量是190M,已使用1.6M,可用175M. 修改完成。

再看看刚才创建的文件还存在吗

[[email protected] ~]# ls /mnt/
111 222.txt lost+found
[[email protected] ~]# cat /mnt/222.txt
123123123

缩减逻辑卷(xfs不支持)

先umount 不挂载

[[email protected] ~]# umount /mnt/

检查磁盘错误

[[email protected] ~]# e2fsck -f /dev/vg1/lv1
e2fsck 1.42.9 (28-Dec-2013)
Pass 1: Checking inodes, blocks, and sizes #检查inodes,块和大小
Pass 2: Checking directory structure #检查目录结构
Pass 3: Checking directory connectivity #检查目录链接
Pass 4: Checking reference counts #检查引用计数
Pass 5: Checking group summary information #检查组摘要信息
/dev/vg1/lv1: 13/25688 files (7.7% non-contiguous), 8899/102400 blocks

更新逻辑卷信息

[[email protected] ~]# resize2fs /dev/vg1/lv1 100M
resize2fs 1.42.9 (28-Dec-2013)
Resizing the filesystem on /dev/vg1/lv1 to 102400 (1k) blocks.
The filesystem on /dev/vg1/lv1 is now 102400 blocks long.

重新设置卷大小

[[email protected] ~]# lvresize -L 100M /dev/vg1/lv1
WARNING: Reducing active logical volume to 100.00 MiB.
THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce vg1/lv1? [y/n]: y #这里询问可能会对文件造成数据丢失,是否还需要执行,测试就选y就可以了
Size of logical volume vg1/lv1 changed from 200.00 MiB (50 extents) to 100.00 MiB (25 extents).
#逻辑卷已从200M缩减成100M
Logical volume vg1/lv1 successfully resized.
#调整大小成功**

然后lvs看一下逻辑卷大小是否修改完成

接下来挂载

[[email protected] ~]# mount /dev/vg1/lv1 /mnt/

↑↑↑↑↑ 如上内容只针对etf4、3、2 ↑↑↑↑↑



.

xfs文件扩容

首先 更新逻辑卷信息,需取消挂载umount

[[email protected] ~]# mkfs.xfs -f /dev/vg1/lv1

再次挂载,查看里面是否有文件(因为是空的,正常是没有) 创建个文件和目录

[[email protected] ~]# !mount #挂载
mount /dev/vg1/lv1 /mnt/
[[email protected] ~]# ls /mnt/ #查看挂载目录里是否有东西
[[email protected] ~]# mkdir /mnt/123 #创建目录123
[[email protected] ~]# touch /mnt/222.txt #创建文件222.txt
[[email protected] ~]# echo "213aa" > /mnt/222.txt 给文件222.txt追加内容
[[email protected] ~]# ls /mnt/ #查看目录下的文件及目录
123 222.txt
[[email protected] ~]# cat /mnt/222.txt #查看文件内容
213aa

lvs查看现在有多大

[[email protected] ~]# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
lv1 vg1 -wi-ao---- 100.00m #现有100M

注:xfs不需要卸载,直接添加大小即可,跟ext不一样。

扩容大小300M

[[email protected] ~]# xfs_growfs -L 300M /dev/vg1/lv1

现在查看 大小还没有变

xfs文件系统需要执行 xfs_growfs /dev/vg1/lv1

df -h 看挂载大小是否成功


ok,成功,300M



.

扩展卷组

查看现在的卷组大小 vgs

[[email protected] ~]# vgs
VG #PV #LV #SN Attr VSize VFree
vg1 2 1 0 wz--n- 1.99g <1.70g

之前分区分了3个,还有一个没有用,先扩容卷组

[[email protected] ~]# vgextend vg1 /dev/sdb3
Volume group "vg1" successfully extended

查看现在多大


[[email protected] ~]# vgs
VG #PV #LV #SN Attr VSize VFree
vg1 3 1 0 wz--n- <2.99g <2.70g

现在是3个G了

再重新设置卷大小

[[email protected] ~]# lvresize -L 100M /dev/vg1/lv1



.

原文地址:http://blog.51cto.com/13646023/2097201

时间: 2024-08-27 07:03:17

2018.4.11 三周第三次课的相关文章

三周第三次课(12月27日) 3.7 su命令 3.8 sudo命令 3.9 限制root远程登录

三周第三次课(12月27日)3.7 su命令3.8 sudo命令3.9 限制root远程登录 su命令: 用户和工作组管理: su命令用于切换当前用户身份到其他用户身份, 变更时须输入所要变更的用户帐号与密码. 语法: su(选项)(参数) 选项: -c<指令>或--command=<指令>:执行完指定的指令后,即恢复原来的身份: -f或--fast:适用于csh与tsch,使shell不用去读取启动文件: -l或--login:改变身份时,也同时变更工作目录,以及HOME,SHE

三周第五次课(12月29日) 4.5/4.6 磁盘格式化 4.7/4.8 磁盘挂载 4.9 手动增加swap空间

三周第五次课(12月29日)4.5/4.6 磁盘格式化4.7/4.8 磁盘挂载4.9 手动增加swap空间 [[email protected] ~]# [[email protected] ~]# mke2fs命令文件系统管理mke2fs命令被用于创建磁盘分区上的"etc2/etc3"文件系统. 语法:mke2fs(选项)(参数) 选项:-b<区块大小>:指定区块大小,单位为字节:-c:检查是否有损坏的区块:-f<不连续区段大小>:指定不连续区段的大小,单位为

5月15日----疯狂猜成语-----三周第三次站立会议 参会人员:杨霏,袁雪,胡潇丹,郭林林,尹亚男,赵静娜

疯狂猜成语-----三周第三次站立会议 参会人员:杨霏,袁雪,胡潇丹,郭林林,尹亚男,赵静娜 会议内容:总结自己的工作任务,验收自己的任务成果,领取明日任务.并且在会议上讨论我们的最后作品要求以及离最终效果的距离. 已经完成任务: 小组成员 已完成的任务 尹亚男    袁雪 数据资料收集完毕 郭林林 高级游戏代码基本成型,正在进行测试 胡潇丹 高级游戏的数据库基本建成 杨霏 后台代码连接完成 赵静娜 记录会议内容,总结会议 明日任务: 小组成员 计划任务 尹亚男 优化游戏界面,实现图片图标的转换

linux三周第2 次课笔记

三周第2 次课笔记3.4 usermod命令3.5 用户密码管理3.6 mkpasswd命令 3.4 usermod命令usermod修改账户的各项设置 3.5 用户密码管理 3.6 mkpasswd命令mkpasswd是make passwd的缩写,生成随即密码. 原文地址:http://blog.51cto.com/461565/2069772

三周第四次课(2月8日)

三周第四次课(2月8日)4.1df命令4.2du命令4.3/4.4磁盘分区 4.1df命令 用命令man查df的说明文档 命令df 命令df -h 命令df -i:查看inodes使用状况. 命令df -M:表示以MB 为单位显示. 4.2命令du 命令du用来查看文件和目录的大小. 4.3 磁盘分区(上) 4.3 磁盘分区(下)在vm10添加新硬盘 选10G 点完成. 原文地址:http://blog.51cto.com/461565/2070531

三周第五次课) 4.5/4.6 磁盘格式化 4.7/4.8 磁盘挂载 4.9 手动增加swap空间

三周第五次课4.5/4.6 磁盘格式化4.7/4.8 磁盘挂载 4.9 手动增加swap空间 4.5/4.6 磁盘格式化 cat /etc/filesystems 查看文件格式 xfs contos7 默认的系统 下图是 系统支持的文件格式 mount 查看文件分区系统是什么格式 原文地址:http://blog.51cto.com/13650048/2096194

2018.1.11 5周4次课

五周第四次课(1月11日) 8.6 管道符和作业控制 8.7/8.8 shell变量 8.9 环境变量配置文件 8.6 管道符和作业控制 1. 管道符 前面已经提过管道符|,它用于将前一个指令的输出作为后一个指令的输人. 2. 作业控制 当运行进程时,常用的命令如下: 暂停:按ctrl+Z组合键 fg n:(foreground的简写)恢复第n个进程运行 bg n:(backgroup的简写)把第n个进程放到后台运行 终止:按ctrl+C组合键 jobs:把暂停或在后台的任务列出来. 命令 &:

2018.4.4 三周第三次课

su命令(切换用户) 格式:su [-] username 后面可以跟-,也可以不跟,加上-之后可以彻底切换过去,包括把各种变量也切换过去. 切换用户 [[email protected] ~]# su - user5[[email protected] ~]$ whoamiuser5 如何切换用户的同时执行一条命令呢 su - -c "命令" 用户 [[email protected] ~]# su - -c "touch /tmp/321.txt" user5[

2018.4.20 五周第三次课

shell介绍 shell脚本在日常的Linux系统管理中是必不可少的: shell是系统跟计算机硬件交互时使用的中间介质. shell是一个命令解释器,提供用户和机器之间的交互: 支持特定语法,比如逻辑判断.循环: 每个用户都可以由自己特定的shell: centOS7默认shell为bash(Bourne Agin shell) 还有zhs.ksh等. shell记录命令历史,默认保存至 .bash_history 文件中 概念:我们执行过的命令Linux都会记录,预设可以记录1000条命令