resize2fs命令详解
原文链接:http://blog.51cto.com/woyaoxuelinux/1870299
resize2fs:调整ext文件系统的空间大小
搭配逻辑卷lv使用方法:resize2fs /PATH/TO/LV_NAME 3G 调整LV的逻辑边界大小为3G
一、扩展逻辑卷lv:(必须先扩展逻辑卷的物理边界,再扩展逻辑边界)
lvextend 扩展逻辑卷的物理边界
-L [+]# /PATH/TO/LV_NAME 指定扩展后的容量,+表示在目前容量上直接增加#容量
不用+表示,扩展后的容量为#
Usag: lvextend -L +5G /PATH/TO/LV_NAME 表示LV在现有的容量上再增加5G容量
lvextend -L 5G /PATH/TO/LV_NAME 表示扩展后的LV总大小为5G容量
resize2fs 扩展逻辑卷的逻辑边界
resize2fs /PATH/TO/LV 5G 扩展逻辑边界到5G,该值不能超过物理边界
resize2fs -p /PATH/TO/LV :-p表示扩展逻辑边界跟物理边界一样大。
二、缩减逻辑卷lv:(必须先缩减逻辑卷的逻辑边界,再缩减物理边界)
注意:1、不能在线缩减,得先卸载;
2、确保缩减后的空间大小依然能存储原有的所有数据;
3、在缩减之前应该先强行检查文件,以确保文件系统处于一致性状态。
缩减步骤:
1、先查看已经使用的lv大小,以便保证缩减后的容量大小能够容纳现有的数据。
df -lh 查看容量大小
[root@xuelinux ~]# df -lh
Filesystem Size Used Avail Use% Mounted on
/dev/sda2 4.9G 1.5G 3.1G 33% /
tmpfs 947M 0 947M 0% /dev/shm
/dev/sda1 2.0G 61M 1.8G 4% /boot
/dev/sda3 3.9G 73M 3.6G 2% /home
/dev/sda7 2.0G 35M 1.8G 2% /tmp
/dev/sda5 2.9G 1.7G 1.2G 59% /usr
/dev/mapper/myvg-testlv 3.0G 4.5M 2.8G 1% /mnt 此选项表示lv目前只使用了4.5M
2、必须先卸载挂载,不能在线缩减。
umount /mnt 卸载挂载的lv
[root@xuelinux ~]# umount /mnt 卸载挂载的lv
[root@xuelinux ~]# mount 查看挂载的lv是否卸载成功
/dev/sda2 on / type ext4 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
tmpfs on /dev/shm type tmpfs (rw,rootcontext="system_u:object_r:tmpfs_t:s0")
/dev/sda1 on /boot type ext4 (rw)
/dev/sda3 on /home type ext4 (rw)
/dev/sda7 on /tmp type ext4 (rw)
/dev/sda5 on /usr type ext4 (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
3、强行对lv执行文件系统检测
e2fsck -f /dev/myvg/testlv 对lv强制执行文件系统检测
[root@xuelinux ~]# e2fsck -f /dev/myvg/testlv 对lv强制执行文件系统检测
e2fsck 1.41.12 (17-May-2010)
第一步: 检查inode,块,和大小
第二步: 检查目录结构
第3步: 检查目录连接性
Pass 4: Checking reference counts
第5步: 检查簇概要信息
/dev/myvg/testlv: 11/196608 files (0.0% non-contiguous), 13500/786432 blocks
4、使用resize2fs对lv逻辑卷的逻辑边界空间大小调整为缩减后的大小
resize2fs /dev/myvg/testlv 2G 对lv逻辑卷的逻辑边界空间大小调整为2G
[root@xuelinux ~]# resize2fs /dev/myvg/testlv 2G 调整逻辑卷的逻辑边界大小为2G
resize2fs 1.41.12 (17-May-2010)
Resizing the filesystem on /dev/myvg/testlv to 524288 (4k) blocks.
The filesystem on /dev/myvg/testlv is now 524288 blocks long.
5、使用lvreduce对lv逻辑卷的物理边界进行缩减
lvreduce -L 2G /dev/myvg/testlv 对逻辑卷的物理边界缩减为2G
[root@xuelinux ~]# lvreduce -L 2G /dev/myvg/testlv 对逻辑卷的物理边界缩减为2G
WARNING: Reducing active logical volume to 2.00 GiB
THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce testlv? [y/n]: y
Reducing logical volume testlv to 2.00 GiB
Logical volume testlv successfully resized
6、然后继续对lv进行挂载操作
mount /dev/myvg/lv /mnt 挂载lv逻辑卷
[root@xuelinux ~]# mount /dev/myvg/testlv /mnt 挂载lv逻辑卷
[root@xuelinux ~]# df -lh 查看已经挂载的分区信息
Filesystem Size Used Avail Use% Mounted on
/dev/sda2 4.9G 1.5G 3.1G 33% /
tmpfs 947M 0 947M 0% /dev/shm
/dev/sda1 2.0G 61M 1.8G 4% /boot
/dev/sda3 3.9G 73M 3.6G 2% /home
/dev/sda7 2.0G 35M 1.8G 2% /tmp
/dev/sda5 2.9G 1.7G 1.2G 59% /usr
/dev/mapper/myvg-testlv 2.0G 4.5M 1.9G 1% /mnt 此处lv逻辑卷缩减为2G
三、快照卷
1、生命周期为整个数据时长,在这段时间内,数据的增长量不能超出快照卷大小(即创建快照卷所指定的容量大小-L指定的大小);
2、快照卷应该是只读的;
3、快照卷必须跟原卷在同一卷组内;
lvcreate
-s:表示创建快照卷 snapshot快照
-p r|w :指定快照卷权限 r为只读 w为写
格式:lvcreate -L # -n SLV_NAME -s -p r /dev/myvg/testlv
Usage: lvcreate -L 1G -n testlv-snap -s -p r /dev/myvg/testlv
对/dev/myvg/testlv 逻辑卷创建一个1G的只读快照卷,名称为testlv-snap
[root@xuelinux ~]# lvcreate -L 1G -n testlv-snap -s -p r /dev/myvg/testlv
Logical volume "testlv-snap" created
挂载该snap设备
[root@xuelinux ~]# mount /dev/myvg/testlv-snap /user
mount: block device /dev/mapper/myvg-testlv--snap is write-protected, mounting read-only
然后对该snap挂载目录里面的文档进行备份即可,如遇到被删除可以直接从snap中恢复。
resize2fs命令详解的更多相关文章
- (转)tune2fs命令详解
tune2fs命令详解(原创) 原文:http://czmmiao.iteye.com/blog/1749232 tune2fs简介 tune2fs是调整和查看ext2/ext3文件系统的文件系统参数 ...
- Git初探--笔记整理和Git命令详解
几个重要的概念 首先先明确几个概念: WorkPlace : 工作区 Index: 暂存区 Repository: 本地仓库/版本库 Remote: 远程仓库 当在Remote(如Github)上面c ...
- linux yum命令详解
yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器.基於RPM包管理,能够从指定的服务器自动下载RP ...
- Linux下ps命令详解 Linux下ps命令的详细使用方法
http://www.jb51.net/LINUXjishu/56578.html Linux下的ps命令比较常用 Linux下ps命令详解Linux上进程有5种状态:1. 运行(正在运行或在运行队列 ...
- Docker命令详解
Docker命令详解 最近学习Docker,将docker所有命令实验了一番,特整理如下: # docker --help Usage: docker [OPTIONS] COMMAND [arg ...
- linux awk命令详解
linux awk命令详解 简介 awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大.简单来说awk就是把文件逐行的读入,以空格为默认分 ...
- android adb 命令详解
ADB (Android Debug Bridge) 是android SDK中的工具,需要先配置环境变量才能使用.起调试桥的作用,可以管理安卓设备.(也叫debug工具) ---------查看设 ...
- Git 常用命令详解
Git 是一个很强大的分布式版本管理工具,它不但适用于管理大型开源软件的源代码(如:linux kernel),管理私人的文档和源代码也有很多优势(如:wsi-lgame-pro) Git 的更多介绍 ...
- Top 命令详解
Top 命令详解 先感受一下top命令的执行结果吧!哈哈-- top - 17:32:34 up 3 days, 8:04, 5 users, load average: 0.09, 0.12, 0. ...
随机推荐
- Sequelize-nodejs-9-Scopes
Scopes作用域 Scoping allows you to define commonly used queries that you can easily use later. Scopes c ...
- mongodb的学习-1-NoSQL
菜鸟教程的学习笔记-http://www.runoob.com/mongodb/nosql.html 关系型数据库遵循ACID规则 事务在英文中是transaction,和现实世界中的交易很类似,它有 ...
- error:Assertion failed ((unsigned)i0 < (unsigned)size.p[0]) in cv::Mat::at
问题原因: 访问像素时指针越界造成的 解决办法: 1.检查指针下标是否正确 2.row和col是否写反了
- NYOJ2—括号配对问题
括号配对问题 时间限制:3000 ms | 内存限制:65535 KB 难度:3 描述 现在,有一行括号序列,请你检查这行括号是否配对. 输入 第一行输入一个数N(0<N<=1 ...
- iOS在framework中使用CoreData出现崩溃问题及解决方法
公司项目中有一个功能,保存授权令牌数据.最开始只有一条数据,所以就直接保存在了userdefaults中.后来需要两条数据,还是保存在userdefaults中,其中一条为固定的,另一条不固定可以进行 ...
- ios应用数据存储方式(XML属性列表-plist) - 转
一.ios应用常用的数据存储方式 1.plist(XML属性列表归档) 2.偏好设置 3.NSKeydeArchiver归档(存储自定义对象) 4.SQLite3(数据库,关系型数据库,不能直 ...
- Objective-C(生命周期)
视图控制器生命周期 : 1)当一个视图控制器被创建,并在屏幕上显示的时候. 代码的执行顺序 1.alloc 创建对象,分配空间 2.init(initWithNibName) 初始化对象,初始化数据 ...
- 在线调整InnoDB Buffer Pool Size
InnoDB Buffer Pool主要是用来缓存数据表和索引数据的内存区域,它的默认值为134217728字节(128MB).最大值取决于CPU架构;32位系统上的最大值为4294967295(23 ...
- canvas 绘制双线技巧
楔子 最近一个项目,需要绘制双线的效果,双线效果表示的是轨道(类似铁轨之类的),如下图所示: 负责这块功能开发的小伙,姑且称之为L吧,最开始是通过数学计算的方式来实现这种双线,也就是在原来的路径的基础 ...
- Linux内核模块Makefile学习
在<Linux设备驱动程序>一书中读到的内核模块编译Makefile,不是非常理解,在查询很多资料后,在这里做个总结. 书中Makefile代码: ifneq ($(KERNELRELEA ...