基础命令学习目录首页

原文链接: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命令详解的更多相关文章

  1. (转)tune2fs命令详解

    tune2fs命令详解(原创) 原文:http://czmmiao.iteye.com/blog/1749232 tune2fs简介 tune2fs是调整和查看ext2/ext3文件系统的文件系统参数 ...

  2. Git初探--笔记整理和Git命令详解

    几个重要的概念 首先先明确几个概念: WorkPlace : 工作区 Index: 暂存区 Repository: 本地仓库/版本库 Remote: 远程仓库 当在Remote(如Github)上面c ...

  3. linux yum命令详解

    yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器.基於RPM包管理,能够从指定的服务器自动下载RP ...

  4. Linux下ps命令详解 Linux下ps命令的详细使用方法

    http://www.jb51.net/LINUXjishu/56578.html Linux下的ps命令比较常用 Linux下ps命令详解Linux上进程有5种状态:1. 运行(正在运行或在运行队列 ...

  5. Docker命令详解

    Docker命令详解   最近学习Docker,将docker所有命令实验了一番,特整理如下: # docker --help Usage: docker [OPTIONS] COMMAND [arg ...

  6. linux awk命令详解

    linux awk命令详解 简介 awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大.简单来说awk就是把文件逐行的读入,以空格为默认分 ...

  7. android adb 命令详解

    ADB (Android Debug Bridge)  是android SDK中的工具,需要先配置环境变量才能使用.起调试桥的作用,可以管理安卓设备.(也叫debug工具) ---------查看设 ...

  8. Git 常用命令详解

    Git 是一个很强大的分布式版本管理工具,它不但适用于管理大型开源软件的源代码(如:linux kernel),管理私人的文档和源代码也有很多优势(如:wsi-lgame-pro) Git 的更多介绍 ...

  9. Top 命令详解

    Top 命令详解 先感受一下top命令的执行结果吧!哈哈-- top - 17:32:34 up 3 days, 8:04, 5 users, load average: 0.09, 0.12, 0. ...

随机推荐

  1. 20145203JAVA课程总结

    20145203盖泽双 <Java程序设计>课程总结 课程总结 (按顺序)每周读书笔记链接汇总 调查问卷:http://www.cnblogs.com/GZSdeboke/p/524832 ...

  2. JDBC 使用common-dbutiles

    一:第三方jar mysql-connector-java-5.1.45-bin.jar,需要关注的核心类: 1.DbUtils----操作数据库的连接注册和释放. 2:.QueryRunner--- ...

  3. sqoop工具介绍(hdfs与关系型数据库进行数据导入导出)

    数据表 第一类:数据库中的数据导入到HDFS上 #数据库驱动jar包用mysql-connector-java--bin,否则有可能报错! ./sqoop import --connect jdbc: ...

  4. CentOS 安装第三方yum源

    yum install wget #安装下载工具 wget http://www.atomicorp.com/installers/atomic #下载 sh ./atomic #安装 yum che ...

  5. Oracle 创建函数

    Oracle创建函数的方法如下: CREATE OR REPLACE FUNCTION FunctionName ( --传入参数 para NCHAR ) RETURN NUMBER IS --函数 ...

  6. ubuntu18.04(bionic) 配置阿里数据源

    先备份源数据原文件 cp sources.list sources.list.bak 编辑 sources.list,输入内容如下: deb http://mirrors.aliyun.com/ubu ...

  7. 通过脚手架创建Vue项目

    第一步 准备工作 1.下载安装Node.js 验证是否安装的方法,在命令行输入node -v 2.安装Vue 在命令行输入npm install -g @vue/cli 查看Vue版本号 npm vu ...

  8. 更新Android Studio 3.1.1碰到的问题

    碰到了如下问题 The SourceSet 'instrumentTest' is not recognized by the Android Gradle Plugin. Perhaps you m ...

  9. 第八天- 基础数据操作补充 集合set 深浅拷贝

    字符串的操作补充: .join() 方法用于将序列(字符串/列表/元组/字典)中的 元素 以指定的字符连接生成一个新的字符串 str = "人生苦短我用python!" # 用于字 ...

  10. Scala的静态方法和实例方法

    Scala的对象学习 Scala没有静态方法或静态字段,可以使用object这个语法达到相同的目的,对象定义了某个类的单个实例 object Accounts { private var lastNu ...