Linux学习笔记(6)磁盘分区(LVM)
1.逻辑管理技术LVM的概念
1.1 LVM ,逻辑卷管理,以便扩展管理盘符。
PV:物理卷
VG:卷组
LV:逻辑卷
PE(physical Extend):物理扩展(默认4M),就是我们逻辑卷管理的最小单位。
1.2 关系如下:
(1)PV N=>1 VG
(2)VG 1=>N LV
N个PV组成一个VG,PE为VG的最小单位。
用VG为生成LV(这个过程就是分配多少个PE给这个LV),然后再挂载目录到LV,就可以用了,完成了逻辑分区的功能
2.LVM的基本操作
2.1 创建PV、创建VG、创建LV
2.2 格式化LV并且挂载文件系统使用
2.3 在线扩展、缩小文件系统
2.4 删除LV、删除VG、删除PV
3.演示
3.1 演示 创建PV、创建VG、创建LV
(1)查看磁盘情况,选定磁盘作为空间源(我们这里用sdc/sdd/sde来做演示,sdf作为我们的扩容)
fdisk -l |grep "Disk /dev/sd"
(2)创建PV:pvcreate /dev/sdc /dev/sdd /dev/sde
查看PV情况 :pvs 或者 pvdisplay
(3)创建名为mysql的VG:vgcreate mysql /dev/sdc /dev/sdd /dev/sde
并且用vgs和vsdisplay 可以查看
(4)创建名为lvmysql的LV,并分配给其2G空间 :lvcreate -n lvmysql -L 2G mysqlvg
查看
3.2 格式化LV并且挂载文件系统使用
(5)格式化:mkfs.ext4 /dev/mysql/lvmysql
(6)挂载目录.
mkdir /mysql #在根目录下创建mysql目录
mount /dev/mysql/lvmysql /mysql #把刚刚新建的 lvmysql 挂载到 /mysql 目录下
(7)直接映射挂载(修改 /etc/fstab 文件数据,这样下次重启就可以直接用)
验证,能直接挂载目录说明就成功了,如图
3.3 在线扩展、缩小文件系统
(8)在线扩展
扩展VG
把新磁盘加入到pv,然后再吧pv加入到vg(由(1)中可知,我们把 /dev/sdf 加进来)
pvcreate /dev/sdf
vgextend mysql /dev/sdf #mysql为vg名称,后面的/dev/sdf是需要加入vg的磁盘空间
扩展LV
首先看看当前是多大,是2G
然后开始扩展5个G,变成7G
lvextend -L +5G /dev/mysql/lvmysql
然后重新组织分配文件系统
resize2fs /dev/mysql/lvmysql
查验,看我们的 mysql-lvmysql 已经7个G了,挂载在 /mysql 目录
(9)在线缩小
卸载目录=》缩小文件系统=》缩小LV=》把盘符从VG和PV里面解放出来
卸载目录与缩小文件系统
resize2fs /dev/mysql/lvmysql 2G 缩小到2G
缩小LV
lvreduce -L -5G /dev/mysql/lvmysql
验证
把盘符从VG里面解放出来
提2G出来
vgreduce mysql /dev/sdf
把盘符从PV里面解放出来
pvremove /dev/sdf
验证
3.4 删除LV、删除VG、删除PV
步骤:卸载目录=》按顺序 删除LV,删除VG,删除 PV
#参考代码 #创建PV
pvcreate /dev/sdb /dev/sdc #创建VG
vgcreate mysqlvg /dev/sdb
vgcreate bakvg /dev/sdc #创建LV
lvcreate -n mysqllv -L 10G mysqlvg
lvcreate -n datalv -L 20G mysqlvg
lvcreate -n loglv -L 20G mysqlvg
lvcreate -n baklv -L 50G bakvg #格式化
mkfs.ext4 /dev/mysqlvg/mysqllv
mkfs.ext4 /dev/mysqlvg/datalv
mkfs.ext4 /dev/mysqlvg/loglv
mkfs.ext4 /dev/bakvg/baklv #建立目录
mkdir -p /mysql/app
mkdir -p /mysql/data
mkdir -p /mysql/log
mkdir -p /mysql/backup
#挂载
mount /dev/mysqlvg/mysqllv /mysql/app
mount /dev/mysqlvg/datalv /mysql/data
mount /dev/mysqlvg/loglv /mysql/log
mount /dev/bakvg/baklv /mysql/backup
#df -h 查看结果 #修改 /etc/fstab 以便可以重启自动挂载
/dev/mysqlvg/mysqllv /mysql/app ext4 defaults 0 0
/dev/mysqlvg/datalv /mysql/data ext4 defaults 0 0
/dev/mysqlvg/loglv /mysql/log ext4 defaults 0 0
/dev/bakvg/backuplv /mysql/backup ext4 defauls 0 0
#reboot 查看效果
最新文章
- 《Paxos Made Simple》翻译
- YbSoftwareFactory 代码生成插件【十六】:Web 下灵活、强大的审批流程实现(含流程控制组件、流程设计器和表单设计器)
- Redis客户端开发包:Jedis学习-入门
- 程序猿必知会的JavaScript 的遍历方式
- ADO.NET 快速入门(四):从数据库填充 DataSet
- 网络爬虫-url索引
- SharePoint中修改密码的WEB Part之终极版:即可以修改AD,又可以修改本机用户密码的Web Part!!
- java_Cookies_1_商品浏览历史记录servlet2
- JQUERY1.9学习笔记 之可见性过滤器(一) 隐藏选择器
- Asp.Net Mvc - 在OnResultExecut* 拦截Action返回的HTML
- iOS知识点全梳理-备用
- HDU	3501 Calculation 2(欧拉函数)
- linux杂记(十一)Bash Shell的使用环境
- rsyslog 日志归类思路--根据syslog local5 nginx-zjzc01;
- Private和Protected方法
- Python强大的自省简析
- 《安卓网络编程》之第四篇 处理URL地址
- vue中展示数据
- vue 动态循环出的多个select 不能重复选择相同的数据
- MacOs -bash: warning: setlocale: LC_CTYPE: cannot change locale (UTF-8): No such file or directory
热门文章
- mysql之slave_skip_errors选项
- Entity简单使用
- Windows自带的端口转发工具netsh使用方法
- flutter 环境
- php 计算时间添加
- C++ 类的继承五(类继承中的static关键字)
- 如何用redis/memcache做Mysql缓存层
- 为 Ruby 程序员准备的 Go 入门教程
- 【BZOJ】3402: [Usaco2009 Open]Hide and Seek 捉迷藏(spfa)
- 【翻译自mos文章】使用asm来部署 超大数据库(10TB到PB 范围)--针对oracle 10G