原创
lvm逻辑卷管理
切换时间
人评论
2886人阅读 2018-04-08 18:59:41
1.什么是LVM
LVM是 Logical Volume Manager(逻辑卷管理)的简写,它是Linux环境下对磁盘分区进行管理的一种机制,Linux用户安装Linux操作系统时遇到的一个常见的难以决定的问题就是如何正确地评估各分区大小,以分配合适的硬盘空间。普通的磁盘分区管理方式在逻辑分区划分好之后就无法改变其大小,当一个逻辑分区存放不下某个文件时,这个文件因为受上层文件系统的限制,也不能跨越多个分区来存放,所以也不能同时放到别的磁盘上。而遇到出现某个分区空间耗尽时,解决的方法通常是使用符号链接,或者使用调整分区大小的工具,但这只是暂时解决办法,没有从根本上解决问题。随着Linux的逻辑卷管理功能的出现,这些问题都迎刃而解,用户在无需停机的情况下可以方便地调整各个分区大小。
LVM(逻辑分区)的创建顺序:物理分区-物理卷-卷组-逻辑卷-挂载。
物理卷(Physical Volume,PV):就是指硬盘分区,也可以是整个硬盘或已创建的软RAID,是LVM的基本存储设备。
卷组(Volume Group,VG):是由一个或多个物理卷所组成的存储池,在卷组上能创建一个或多个逻辑卷。
逻辑卷(Logical Volume,LV):他是Linux环境下对磁盘分区进行管理的一种机制。当逻辑分区放不下某些文件时,又不能夸分区来存放,逻辑卷可以在不停机的情况下方便调整各分区的大小。
2.创建物理分区
1.添加一块硬盘,查看设备号
fdisk -l
磁盘 /dev/sdb:10.7 GB
2.分区,分3个类型8e的1G的分区。
fdisk /dev/sdb
命令(输入 m 获取帮助):n
Select (default e): p
分区号 (1-4,默认 1):
起始 扇区 (2048-20971519,默认为 2048):
Last 扇区, +扇区 or +size{K,M,G} (2048-20971519,默认为 20971519):+1G
命令(输入 m 获取帮助):t
分区号 (1-3,默认 3):
Hex 代码(输入 L 列出所有代码):8e
命令(输入 m 获取帮助):p
命令(输入 m 获取帮助):w
更新分区表
partprobe
3.创建物理卷
就是把分期格式化成可以做LVM的格式的基础存储设备。
安装lvm命令
yum install -y lvm2
创建物理卷
pvcreate /dev/sdb1
pvcreate /dev/sdb2
pvcreate /dev/sdb3
查看物理卷
pvdisplay
删除物理卷(不执行此命令)
pvremove /etc/sdb1
4.创建卷组
把两个分区创建成一个卷组
vgcreate vg1 /dev/sdb1 /dev/sdb2
查看卷组
vgdisplay vg1
删除卷组(不执行此命令)
vgremove vg1
5.创建逻辑卷
把卷组中划分出来逻辑卷
划分一个100M 名字是lv1 的卷组
lvcreate -L 100M -n lv1 vg1
6.格式化并挂载
格式化
mkfs.ext4 /dev/vg1/lv1
mount /dev/vg1/lv1 /mnt/
df -h
/dev/mapper/vg1-lv1 93M 1.6M 85M 2% /mnt
测试
mkdir /mnt/111
echo "1111" > /mnt/111/1.txt
7.扩容逻辑卷
卸载逻辑卷
umount /mnt/
重新设置逻辑卷大小
lvresize -L 300M /dev/vg1/lv1
检查磁盘错误(EXT4)
e2fsck -f /dev/vg1/lv1
更新逻辑卷信息(EXT4)
resize2fs /dev/vg1/lv1
重新挂载逻辑卷
mount /dev/vg1/lv1 /mnt/
查看大小
df -h
/dev/mapper/vg1-lv1 287M 2.0M 266M 1% /mnt
xfs文件系统执行
xfs_growfs /dev/vg1/lv1
8.缩容逻辑卷
xfs文件系统不支持
先卸载逻辑卷挂载
umount /mnt/
检测磁盘信息
e2fsck -f /dev/vg1/lv1
更新逻辑卷信息,指定新的磁盘大小
resize2fs /dev/vg1/lv1 150M
重新设置逻辑卷的大小
lvresize -L 150M /dev/vg1/lv1
重新挂载逻辑卷
mount /dev/vg1/lv1 /mnt/
查看大小
df -h
/dev/mapper/vg1-lv1 142M 1.6M 130M 2% /mnt
9.扩容卷组
如果在卷组可用空间不够的情况下,是没办法给逻辑卷扩容的。
创建物理卷
pvcreate /dev/sdb3
扩容 vg1 卷组
vgextend vg1 /dev/sdb3
查看卷组大小
vgdisplay vg1
©著作权归作者所有:来自51CTO博客作者切换时间的原创作品,如需转载,请注明出处,否则将追究法律责任
推荐专栏更多
带你玩转高可用
前百度高级工程师的架构高可用实战
共15章 | 曹林华
¥51.00 477人订阅
订 阅
基于Python的DevOps实战
自动化运维开发新概念
共20章 | 抚琴煮酒
¥51.00 458人订阅
订 阅
网工2.0晋级攻略 ——零基础入门Python/Ansible
网络工程师2.0进阶指南
共30章 | 姜汁啤酒
¥51.00 1698人订阅
订 阅
全局视角看大型园区网
路由交换+安全+无线+优化+运维
共40章 | 51CTOsummer
¥51.00 1906人订阅
订 阅
负载均衡高手炼成记
高并发架构之路
共15章 | sery
¥51.00 523人订阅
订 阅
猜你喜欢
chkconfig命令 crontab命令 使用iLO远程管理HP系列服务器 Linux LVM逻辑卷配置过程详解(创建,增加,减少,删除,卸载) VSphere入门之ESXi的安装及基本管理 K8S使用dashboard管理集群 Panabit流量管理系统使用经验 ansible自动化管理windows系统实战 Java:使用Executors创建和管理线程 LVM的创建与快照和SSM存储管理器的使用 上网行为管理设备的介绍,部署与使用 如何使用Intel AMT 8.0技术远程管理PC 不眠夜之Linux服务器恢复小记 cadvisor+influxdb 增加estab统计 saltstack小试牛刀 使用aliyun-exporter 获取阿里监控到私有prometheus数据库并展示 案例十、检测域名是否到期 通过 kubeadm 部署 kubernetes Java进程CPU占用高导致的网页请求超时的故障排查 Jenkins小项目—代码测试、部署、回滚、keepalived+haproxy调度至tomcat
扫一扫,领取大礼包
function insertCodeElement(content, container){
container = container || document;
// 创建一个 div 来放置获取到的内容,这样就可以把 content 字符串内容转换成 dom
// 方便我们对这个 dom 进行操作(只是创建 div,并没有插入到文档,他只存在于内存中)
var parent = document.createElement(‘div’);
parent.innerHTML = content;
// 找到 parent 中的所有 pre 标签,并遍历
var $pres = $(parent).find('pre');
$pres.each(function(index, el) {
var $el = $(el),
html = $el.html(),
code = document.createElement('code'),
elClass = $el.attr('class');
if(!elClass) {return};
// 获取 pre 标签中,class 属性中包含的本段代码所有的编程语言
var language = elClass.substring(6, elClass.indexOf(';'));
code.className = 'language-' + language;
code.innerHTML = html;
$el.html(code);
});
$(container).html(parent.innerHTML);
// 最后,调用 Prism 的方法来高亮代码
Prism.highlightAll();
}
window._bd_share_config={
“common”:{
“bdText”:“lvm逻辑卷管理”,
“bdDesc”?("#abstract_bdshare").text(),
“bdMini”:“2”,
“bdMiniList”:false,
“bdPic”:“https://s1.51cto.com/images/201710/25/bd540a4f14d822f6e69087758699358b.jpg”,
“bdStyle”:“0”,
“bdSize”:“16”
},
“share”:{}
};
with(document)0[(getElementsByTagName(‘head’)[0]||body).appendChild(createElement(‘script’)).src=’/static/api/js/share.js?v=89860593.js?cdnversion=’+~(-new Date()/36e5)];
setTimeout(function(){
$(’.bdsharebuttonbox a’).removeAttr(‘title’)
},1000);
var now_time = 1565860059; //当前时间
setInterval(function(){now_time+=0.01},10);
// 初始化页面
updatePage();
// 页面tab切换
zDate.visibilityAction(function () {
zDate.getServerTime(function (e) {
var updateResult = new Date(e).getTime();
now_time = +updateResult.toString().substr(0, 10);
updatePage();
});
})
// 定时刷新现在时间
setInterval(function () {
zDate.getServerTime(function (e) {
var updateResult = new Date(e).getTime();
now_time = +updateResult.toString().substr(0, 10);
updatePage();
});
}, 1000602);
// 页面刷新
function updatePage() {
$(’.presell’).each(function(index, item) {
var end_time = $(this).data(‘end’); // 结束时间
if (!end_time) {
return;
}
var me = $(this);
if (me.lastTime) {
clearInterval(me.lastTime);
me.lastTime = null;
} else {
me.lastTime = setInterval(function() {
zDate.setLastTimePc(me.find(’.timespan’), (end_time1000-now_time1000), me.lastTime, function() {
me.parents(’.right’).find(’.cloumn-subscribe’).removeClass(‘presell-color’);
me.remove();
$(’.pre-tips’).remove();
});
}, 10);
}
});
}
//二维码显示
$(".group_git_box").hover(function(){
$(this).parents(’.group_img_box’).find(".group_code_box").show()
},function(){
$(this).parents(’.group_img_box’).find(".group_code_box").hide()
})
Ctrl+Enter 发布
发布
取消