ubuntu server 10.4下lvm逻辑卷管理器的使用

简介:
LVM是逻辑盘卷管理(Logical Volume Manager)的简称。如果不知道可以百度下, http://baike.baidu.com/view/361916.htm?fr=ala0_1_1,百度百科,讲的就很好了,它真是一个非常棒的东西。引用百度百科的一段“Linux用户安装Linux操作系统时遇到的一个最常见的难以决定的 问题就是如何正确地给评估各分区大小,以分配合适的硬盘空间。而遇到出现 某个分区空间耗尽时,解决的方法通常是使用符号链接,或者使用调整分区大小的工具(比如PatitionMagic等),但这都只是暂时解决办法,没有根 本解决问题。随着Linux的 逻辑盘卷管理功能的出现, 这些问题都迎刃而解,使得用户在无需停机的情况下方便地调整各个分区大 小。”这就是它功能。
目标:(1)用三块磁盘sdc,sdd,sde都是2G。先把sdc,sdd,组成卷组no1vg大小为4G,划分出逻辑卷date大小为200M,把该逻辑卷挂载到lvmtest目录,再对逻辑卷date进行扩展到容量为300M,对卷组no1vg进行扩展,也就是把磁盘sde加入no1vg使其容量为6G。(2)对逻辑卷date,把它的名字改为date2,然后减少逻辑卷date2容量到250M,最后把逻辑卷date2移除掉;对卷组no1vg改名为vgtest,然后减少卷组vgtest容量到4G;最后移去物理卷sde等相关操作的命令.
1,分别把三块磁盘创建成Linux lvm
在默认情况ubuntu server 10.4 没有安装LVM2软件包,所以要先安装
先查看安装没有
#sudo dpkg -l lvm2
若没安装则安装
#sudo apt-get install lvm2
再查看安装了没有
#sudo dpkg -l lvm2
#sudo fdisk /dev/sdc
lvm01
lvm02
三块磁盘的分区结果相同,操作过程也相同。
2,初始化sdc,sdd,sde
初始化前先查看下
#sudo pvscan
#sudo pvdisplay
开始初始化
lvm03
再查看下,和之前有什么不同
#sudo pvdisplay
3,创建卷组no1vg,大小为4G.
先查看下
#sudo vgdisplay
创建卷组no1vg
#sudo vgcreate  no1vg /dev/sd[c,d]1
#sudo vgdisplay no1vg
lvm04
默认的情况,PE为4M,也就是最大的LV可为256G.
4,创建逻辑卷date,大小为200M.
先查看
#sudo lvdisplay
创建逻辑卷date
#sudo lvcreate –n date –L 200M no1vg
#sudo lvcreate –n date –l 50 no1vg
*:-L 后面是大小,若你给的不是4的倍数,它会给你自动分配成4的倍数的大小的空间。-l 后面是PE的个数,50*4=200M,所以两个命令的结果是相同的。
#sudo lvdisplay /dev/no1vg/date
5,格式化逻辑卷date,用ext4文件系统
#sudo mkfs.ext4 /dev/no1vg/date
6,挂载逻辑卷date到文件夹lvmtest
#sudo mount /dev/no1vg/date lvmtest
lvm05
#sudo cd lvmtest
#sudo mkdir test.txt
7,对逻辑卷date进行扩展到容量为300M.
先查看扩展前的信息
#sudo lvdisplay /dev/no1vg/date
先umount掉挂载的逻辑卷date
#sudo umount lvmtest
#sudo lvextend –L +100M /dev/no1vg/date
强行检查date逻辑卷
#sudo e2fsck –f /dev/no1vg/date   
重新定义分区大小
#sudo resize2fs /dev/no1vg/date 
先查看扩展后的信息
#sudo lvdisplay /dev/no1vg/date
#sudo mount /dev/no1vg/date lvmtest
#sudo df –h
lvm08
查看卷组信息
lvm07
8,扩展卷组no1vg,把sde磁盘加入其中,容量到达6G
#sudo vgextend no1vg  /dev/sde1
查看扩展后的卷组信息
#sudo vgdisplay /dev/no1vg
lvm10
扩展后的数据仍在
lvm11
(2)第二个实验目标
1,辑卷date改名为date2,并减少其容量到250M,并把它移除
#sudo lvrename /dev/no1vg/date   /dev/no1vg/date2
查看逻辑卷信息
#sudo lvs
#sudo lvscan
#sudo lvdisplay
在初次做这个实验时出现如下问题:
缩减其容量后发现,挂载不上,重新格式化后,才可以挂载,后来经过查询要按如下步骤操作:先使用resize2fs 对其操作后,接着用e2fsck -f ,再用lvreduce;与增加容量时的操作相反,增加时是先用lvextend后,再用e2fsck -f ,接着是resize2fs.
#sudo resize2fs /dev/no1vg/date2 250M
#sudo e2fsck -f /dev/no1vg/date2
#sudo lvreduce -L 50M /dev/no1vg/date2
 
停止逻辑卷date2
#sudo lvchange -a n /dev/no1vg/date2
查看其状态
#sudo lvdisplay
激活逻辑卷date2
#sudo lvchange -a y /dev/no1vg/date2
查看其状态
#sudo lvdisplay
通过快照备份逻辑卷
#sudo lvcreate -s -L 250M -n snapno1 /dev/no1vg/date2
查看
#sudo lvs
快照不需格式化就可以直接使用
挂载快照到目录snap
#sudo mount /dev/no1vg/snapno1 snap
移除逻辑卷date2前,若有快照,就要先移除快照,否则移除是不成功的
移除快照snapno1 
#sudo lvremove /dev/no1vg/snapno1
移除逻辑卷的命令与移除快照相同
#sudo lvremove /dev/no1vg/date2
查看逻辑卷信息
#sudo lvdisplay
#sudo lvs
#sudo lvscan
2,对卷组的改名,缩减容量,分离卷组,移除卷组,合并卷组操作
对卷组no1vg改名为vgtest
#sudo vgrename no1vg vgtest
查看
#sudo vgs
#sudo vgscan
#sudo vgdisplay
把物理卷sde从卷组vgtest中移除也就是缩减了其容量从6G到4G
#sudo vgreduce /dev/vgtest /dev/sde1
#sudo vgdisplay
停止卷组vgtest
#sudo vgchange -a n /dev/vgtest
停止卷组后,把物理卷sdd1从卷组vgtest分离出来,并把加入vgtest2中
#sudo vgsplit /dev/vgtest /dev/vgtest2 /dev/sdd1
原有的逻辑卷的数据仍在
#sudo vgdiaplay /dev/vgtest
激活卷组vgtest
#sudo vgchange -a y /dev/vgtest
移除卷组vgtest
#sudo vgremove /dev/vgtest
合并卷组:把卷组vgtest1,vgtest2合并到卷组vgtest
可以先看下vgmerge的用法
#man vgmerge
#sudo vgmerge /dev/vgtest /dev/vgtest1
#sudo vgmerge -v /dev/vgtest /dev/vgtest2
---------------以下两个没实验过----------------------------------
另外还有卷组的导出vgexport
#sudo vgexport /dev/vgtest
卷组的导入
#sudo vgimport vgtest /dev/sd[c,d]1
----------------------------------------------------------------------------
3,物理卷sde的移除
先将sde是数据移到sdc上,这个要花一点时间
#sudo pvmove /dev/sde1 /dev/sdc1
移完后数据仍在
数据移完后,将其移除
#sudo pvremove /dev/sde1
 
 
感悟:通过以上的操作实验,感觉LVM真的是强,能放大也能缩小,能拆分能合并,并且数据不丢,在实际的应用中,当然不建议改动已建好的逻辑卷,卷组,物理卷的大小,理论上数据不会丢,可又有谁能保证在线操作时,就没问题呢。最后,再说一次,LVM真的是好强!
 
 
 
 本文转自xcjgutong 51CTO博客,原文链接:http://blog.51cto.com/xuchengji/319761

相关文章
|
6月前
|
Ubuntu 安全 Linux
百度搜索:蓝易云【Ubuntu 20.04 安装VNC Server的教程。】
请注意,VNC连接是以明文形式传输数据的,因此建议在安全的网络环境中使用VNC,并设置强密码以确保安全性。
189 1
|
5月前
|
存储 缓存 NoSQL
如何解决Ubuntu server 下 Redis安装报错:“You need tcl 8.5 or newer in order to run the Redis test”.
如何解决Ubuntu server 下 Redis安装报错:“You need tcl 8.5 or newer in order to run the Redis test”.
134 0
|
1月前
|
存储 Ubuntu 网络安全
|
4月前
|
Ubuntu 网络安全 虚拟化
【Ubuntu】Win11 VmWare虚拟机安装Ubuntu 22.04.1-server
【Ubuntu】Win11 VmWare虚拟机安装Ubuntu 22.04.1-server
114 1
【Ubuntu】Win11 VmWare虚拟机安装Ubuntu 22.04.1-server
|
7月前
|
消息中间件 网络协议 Ubuntu
Ubuntu安装RabbitMQ server - 在外远程访问【内网穿透】
通过在ubuntu+cpolar+rabbitMQ环境下,实现mq服务端远程访问。
Ubuntu安装RabbitMQ server - 在外远程访问【内网穿透】
|
7月前
|
Ubuntu
树莓派 ubuntu server 22.x 连接无线网络
树莓派 ubuntu server 22.x 连接无线网络
95 0
|
10月前
|
Ubuntu 前端开发 JavaScript
在一个裸的Ubuntu server中我做了哪些
在一个裸的Ubuntu server中我做了哪些
78 1
|
11月前
|
Ubuntu
ubuntu 18.04.3 server 配置IP
采用修改这个文件/etc/network/interfaces ,改ip的方式在ubuntu 18里行不通
122 0
|
11月前
|
Ubuntu Shell
|
存储 Ubuntu 关系型数据库
Ubuntu Server 20.04 LTS 安装配置 PostgreSQL
本节我们学习 Ubuntu Server 20.04 LTS 环境安装配置 PostgreSQL 数据库,并讲解 psql 的一些常用命令,分别介绍 pgsql 的两种安装方式,以及角色&身份认证方式和远程访问配置等相关操作...
685 0
Ubuntu Server 20.04 LTS 安装配置 PostgreSQL