1、文件系统

  现在文件系统主要分为:日志文件系统写时复制文件系统。

  文件系统日志方法


方法                             描述


数据模式                 索引节点和文件都会被写入日志;丢失数据风险低,但性能差
有序模式                 只有索引节点数据会被写入日志,但只有数据成功写入后才删除;在性能和安全性之间取得了良好的折中
回写模式                 只有索引节点数据会被写入日志,但不控制文件数据何时写入;丢失数据风险高,但仍比不用日志好


日志文件系统主要包括:ext3文件系统采用有序模式的日志功能、ext4文件系统采用有序模式的日志功能、Reiser文件系统采用回写日志模式 、JFS文件系统采用有序日志模式、XFS文件系统采用回写日志模式。

写时复制文件系统主要包括:ZFS文件系统、Btrf文件系统。

2、操作文件系统

  创建分区时,如果创建的新分区显示,可以使用partprob或hdparm命令,让系统读取更新过的分区表。

  创建文件系统的命令行程序


工具                                  用途


mkefs       创建一个ext文件系统

mke2fs       创建一个ext2文件系统
mkfs.ext3     创建一个ext3文件系统
mkfs.ext4     创建一个ext4文件系统
mkreiserfs      创建一个ReiserFS文件系统
jfs_mkfs       创建一个JFS文件系统
mkfs.xfs                创建一个XFS文件系统
mkfs.zfs                创建一个ZFS文件系统
mkfs.btrfs             创建一个Btrfs文件系统


  注:mount 这种挂载文件系统的方法只能临时挂载文件系统。当重启Linux系统时,文件系统并不会自动挂载。要强制Linux在启动时自动挂载新的文件系统,可以将其添加到/etc/fstab文件。

3、LVM逻辑卷管理

  创建LVM逻辑卷步骤:

  a、定义物理卷,将需要创建为LVM的逻辑卷的分区类型调整为8e。

 [...]
Command (m for help): t
Selected partition 1
Hex code (type L to list codes): 8e
Changed system type of partition 1 to 8e (Linux LVM)
Command (m for help): p
Disk /dev/sdb: 5368 MB, 5368709120 bytes
255 heads, 63 sectors/track, 652 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0xa8661341
Device Boot Start End Blocks Id System
/dev/sdb1 1 262 2104483+ 8e Linux LVM
Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.

  b、接下来分区创建实际的物理卷。

# pvcreate /dev/sdb1
dev_is_mpath: failed to get device for 8:17
Physical volume "/dev/sdb1" successfully created 

  查看创建的信息,可以适用pvdisplay命令来显示已创建的物理卷列表。

# pvdisplay /dev/sdb1
"/dev/sdb1" is a new physical volume of "2.01 GiB"
--- NEW Physical volume ---
PV Name /dev/sdb1
VG Name
PV Size 2.01 GiB
Allocatable NO
PE Size 0
Total PE 0
Free PE 0
Allocated PE 0
PV UUID 0FIuq2-LBod-IOWt-8VeN-tglm-Q2ik-rGU2w7

  c、创建卷组

# vgcreate Vol1 /dev/sdb1
Volume group "Vol1" successfully created

  查看新建的卷组的信息,可以使用vgdisplay命令。

# sudo vgdisplay Vol1
--- Volume group ---
VG Name Vol1
System ID
Format lvm2
Metadata Areas 1
Metadata Sequence No 1
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 0
Open LV 0
Max PV 0
Cur PV 1
Act PV 1
VG Size 2.00 GiB
PE Size 4.00 MiB
Total PE 513
Alloc PE / Size 0 / 0
Free PE / Size 513 / 2.00 GiB
VG UUID oe4I7e-5RA9-G9ti-ANoI-QKLz-qkX4-58Wj6e

  d、创建逻辑卷

        lvcreate的选项


选项             长选项名                         描述


-c       --chunksize       指定快照逻辑卷的单位大小

-C        --contiguous       设置或重置连续分配策略
-i         --stripes                      指定条带数
-I                     --stripesize                    指定每个条带的大小
-l         --extents         指定分配给新逻辑卷的逻辑区段数,或者要用的逻辑区段的百分比
-L        --size            指定分配给新逻辑卷的硬盘大小
                       --minor                            指定设备的次设备号
-m                  --mirrors                          创建逻辑卷镜像
-M                 --persistent                      让次设备号一直有效
-n                   --name                             指定新逻辑卷的名称
-p                  --permission                     为逻辑卷设置读/写权限
-r                   --readahead                     设置预读扇区数
-R                  --regionsize                      指定将镜像分成多大的区
-s                   snapshot                          创建快照逻辑卷
-Z                   --zero                              将新逻辑卷的前1 KB数据设置为零


  创建逻辑卷

  # lvcreate -l 100%FREE -n lvtest Vol1
  Logical volume "lvtest" created

  查看创建的逻辑卷的详细情况,可以使用lvdisplay命令。

# lvdisplay Vol1
--- Logical volume ---
LV Path /dev/Vol1/lvtest
LV Name lvtest
VG Name Vol1
LV UUID 4W2369-pLXy-jWmb-lIFN-SMNX-xZnN-3KN208
LV Write Access read/write
LV Creation host, time ... -0400
LV Status available
LV Size 2.00 GiB
Current LE 513
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 253:2

-l选项定义了要为逻辑卷指定多少可用的卷组空间。注意,你可以按照卷组空闲空间的百分比来指定这个值。本例中为新逻辑卷使用了所有的空闲空间。
你可以用-l选项来按可用空间的百分比来指定这个大小,或者用-L选项以字节、千字节(KB)、兆字节(MB)或吉字节(GB)为单位来指定实际的大小。 -n选项允许你为逻辑卷指定一个名称(在本例中称作lvtest)。

  e、创建文件系统

   运行完lvcreate命令之后,逻辑卷就已经产生了,但它还没有文件系统。你必须使用相应的命令行程序来创建所需要的文件系统。

# mkfs.ext4 /dev/Vol1/lvtest
mke2fs 1.41.12 (17-May-2010)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
131376 inodes, 525312 blocks
26265 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=541065216
17 block groups
32768 blocks per group, 32768 fragments per group
7728 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912
Writing inode tables: done
Creating journal (16384 blocks): done
Writing superblocks and filesystem accounting information: done
This filesystem will be automatically checked every 28 mounts or
180 days, whichever comes first.Use tune2fs -c or -i to override.

   在创建了新的文件系统之后,可以用标准Linux mount命令将这个卷挂载到虚拟目录中,就跟它是物理分区一样。唯一的不同是你需要用特殊的路径来标识逻辑卷。 

# mount /dev/Vol1/lvtest /mnt/my_partition

4、修改LVM 

Linux LVM命令


命令                          功能


vgchange     激活和禁用卷组

vgremove     删除卷组
vgextend     将物理卷加到卷组中
vgreduce     从卷组中删除物理卷
lvextend     增加逻辑卷的大小
lvreduce     减小逻辑卷的大小


5、如何扩大卷组

重新从第二个硬盘上创建一个分区sdb3,并将创建好的分区加入大已经存在的卷组myvg中

6、如何扩大逻辑卷

首先要确定扩展多大,并确定当前逻辑卷所在的卷组有足够的空闲空间可用,扩展时要先扩展物理边界,在扩张逻辑边界

7、如何缩减逻辑卷

确定要缩减为多大?至少能容纳原有的所有数据,逻辑卷缩减有风险,所以要卸载并强行检测文件系统

缩减逻辑卷空间的步骤如下:

1.先卸载逻辑卷/dev/myvg/textlv

2.然后通过e2fsck命令检测逻辑卷上空余的空间

3.使用resize2fs将文件系统减少到3G

4.再使用lvreduce命令将逻辑卷减少到3G

注意,文件系统大小和逻辑卷大小一定要保持一致才行,如果逻辑卷大于文件系统,由于部分区域未格式化成文件系统会造成空间的浪费,如果逻辑卷小于文件系统,那数据就出问题了

8、如何缩减卷组

首先要确定移除的物理卷,将此物理卷上的数据转移至其他的物理卷,然后从卷组中将此物理卷移除

如何创建快照卷

要创建快照要满足三个条件:

1.生命周期为整个数据时长,在这段时长内,数据的增长量不能超出快照卷大小

2.快照卷应该是只读的

3.跟原卷在同一个卷组内

-s 创建快照

-p 指定快照权限为只读r

-n指定快照名称

在对快照进行归档压缩后可以对快照进行删除操作

9、删除逻辑卷,卷组和物理卷

移除物理卷之后可以将这些分区转化成普通的分区,即系统ID为83

10、关于LVM逻辑卷实现磁盘镜像,在这里就不在叙述,请参考同仁的链接,写的非常不错。

 

    

  

转载于:https://www.cnblogs.com/weidongliu/p/10770684.html

shell命令之---LVM文件系统相关推荐

  1. Shell命令-磁盘与文件系统之dumpe2fs、dump

    内容更新中 转载于:https://www.cnblogs.com/wjcLinux/p/11123080.html

  2. Shell命令-磁盘与文件系统之e2fsck、mkswap

    内容更新中 转载于:https://www.cnblogs.com/wjcLinux/p/11123166.html

  3. Hadoop教程(三)HDFS文件系统Shell命令

    Hadoop教程(三)HDFS文件系统Shell命令 本文链接:https://blog.csdn.net/yuan_xw/article/details/50202381 Hadoop教程(三)HD ...

  4. Linux系统笔记:shell命令、文件系统、Vi编辑器、文件IO、mmap()、bmp图片格式、线程

    文章目录 一.shell命令集 二.ubuntu文件系统 三.vi编辑器 四.文件IO 五.Linux中C库mmap()函数详解 六.bmp图片格式详解 七.C语言笔记 (一)标准IO函数 time( ...

  5. 简单而常用的shell 命令

    基本但是很有用的shell 0.man $cmd 1.ls/ls -a/ls -l 2.cd==cd ~ 3.pwd 4.cp -r /home/usro1/exp /home/usr02 5.mv ...

  6. 2021年大数据Hadoop(八):HDFS的Shell命令行使用

    2021大数据领域优质创作博客,带你从入门到精通,该博客每天更新,逐渐完善大数据各个知识体系的文章,帮助大家更高效学习. 有对大数据感兴趣的可以关注微信公众号:三帮大数据 目录 HDFS的Shell命 ...

  7. 【Linux学习笔记】 -- 基本Shell命令

    常见的目录名均基于文件系统层级标准(filesystem hierarchy standard,FHS) Linux的四个部分: 1 Linux内核:控制所有硬软件,必要时分配硬件根据需要执行软件 系 ...

  8. Linux中shell命令的用法和技巧

    使用Linux shell是我每天的基本工作,但我经常会忘记一些有用的shell命令和l技巧.当然,命令我能记住,但我不敢说能记得如何用它执行某个特定任务.于是,我开始在一个文本文件里记录这些用法,并 ...

  9. bash shell命令(2)

    在上篇<bash shell命令(1)>中,介绍了几种简单的linux shell命令,今天继续介绍bash shell命令 本文地址:http://www.cnblogs.com/arc ...

最新文章

  1. linux内核rcu锁实例,Linux Rcu到底有没有锁?
  2. iOS培训教程——设置默认语言
  3. 【转载】Python常用模块之sys
  4. 4.3.6 无分类编址CIDR
  5. python能做什么项目好-python能做什么项目
  6. Lucene.Net---1索引的建立
  7. PHP处理图片(orientation)旋转问题
  8. 使用find 命令执行命令 -exec
  9. 【linux C】C语言中常用的几个函数的总结【二】
  10. Java那些事之Log4j
  11. 关于PCI-E接口你要知道这些点
  12. Altium Designer(五):布板技巧
  13. salt-API基本验证命令
  14. 美国通胀放缓幅度超预期 美元或面临进一步承压?
  15. 做自媒体赚钱,分享一个完整的影视剪辑的基本流程
  16. MSDP协议报文类型
  17. rx590 黑苹果 无货_国考报名过审人数超85万,苹果iPhone 12开售排队
  18. [摘记]数值方法02——内插法和外推法
  19. Eclips 反编译
  20. CE认证和CCC认证区别?

热门文章

  1. 信息系统项目管理师-项目合同管理核心知识点思维脑图
  2. No module named 'pandads'
  3. BJUI修改详情页的标题内容
  4. SSM-查询数据库获取下拉框的值并作为查询的筛选条件
  5. 解决方案仅用于执行startup.bat启动时乱码解决
  6. 32 串口波特率_「正点原子FPGA连载」第五章串口中断实验
  7. 神策数据产品演进及行业延展实践
  8. 以太坊和区块链实战技术分析详解
  9. SQL Server 2008 开启远程连接
  10. 获取用户精准地理位置信息(百度地图)