百世韩 發表於 2017-1-20 12:00:47

centos7文件系统管理btrfs详解

<p><strong><font color="#ff0000">一、基础简介</font></strong></p>
<p>Btrfs(又名:B-tree, Butter FS, Better FS),GPL授权, Oracle从2007研发,写实复制更新机制 CoW,其主要是为了取代ext2,ext3,ext4,其主要功能有</p>
<p>例如我们现在去修改一个文件A,COW机制是先将目标文件A复制一份为文件B,那么我们修改文件时是修改的复制文件B,相当于对源文件A做了快照,如对文件B修改操作失误,可以有效的恢复源文件A。</p>
<p>多物理卷支持:btrfs可由多个底层物理卷组成,内建支持RAID(即支持条带、mirror等功能),以联机&ldquo;添加&rdquo;、&ldquo;移除&rdquo;,&ldquo;修改&rdquo;操作</p>
<p>支持b-tree文件功能即支持子卷功能,如在vg中创建lv一样</p>
<p>写时复制更新机制(英译CoW):复制、更新及替换指针,而非&ldquo;就地&rdquo;更新机制</p>
<p>数据及源数据校验码机制checksum:我们存储某个文件时,checksum会将数据的源数据和数据的校验码,分别通过文件的属性扩展进行保存,当我们再次读取数据时可以方便的检测数据是否受损,如果文件受损系统可以完成自动修复。</p>
<p>支持子卷sub_volume:可以在一个卷上创建子卷,然后分别挂载使用</p>
<p>快照:支持快照的快照功能即增量快照</p>
<p>透明压缩:即数据自动实现压缩和解压缩,以节约空间,会消耗一定的cpu的</p>
<p>:</p>
<p><strong><font color="#ff0000">二、文件系统创建</font></strong></p>
<p>命令帮助btrfs --help</p>
<p>mkfs.btrfs</p>
<p>-L 'LABEL' 指定卷标</p>
<p>-d &lt;type&gt;: raid0,raid1, raid5, raid6, raid10, single&nbsp;&nbsp;&nbsp;指明数据存储类型</p>
<p>-m &lt;profile&gt;: raid0,raid1, raid5, raid6, raid10, single, dup&nbsp;&nbsp;指明源数据存储的机制</p>
<p>-O &lt;feature&gt; 指明在格式化时使用的特性</p>
<p>-O list-all:&nbsp;列出支持的所有feature</p>
<p>man btrfs-filesystem查看更多的子命令</p>
<p>mount -t btrfs /dev/sdbMOUNT_POINT&nbsp;挂载文件系统</p>
<p>mount -o compress={lzo|zlib} DEVICE MOUNT_POINT&nbsp;透明压缩机制</p>
<p>btrfs filesystem resize &plusmn;VALUE&nbsp; MOUNT_POINT 调整磁盘大小</p>
<p>btrfs devices args 管理磁盘设备</p>
<p>&nbsp;btrfs-balance&nbsp;subcomand|args 均衡数据</p>
<p>btrfs subvolume 创建子卷</p>
<p>btrfs snapshot 创建快照</p>
<p>快照必须要与原卷在同一卷组中,子卷的快照必须要与子卷在同一个父卷中&nbsp;</p>
<p>btrfs subvolume delete &nbsp;snapshot-name 删除子快照</p>
<p><strong><font color="#ff0000">三、创建应用示例</font></strong></p>
<p># fdisk -l 查看存在的分区的磁盘</p>
<p># mkfs.btrfs -L&quot;mybtrfs&quot; /dev/sdb /dev/sdc 将sdb、sdc磁盘创建成为一个btrfs系统</p>
<p># btrfs filesystem show 查看已经创建的btrfs文件系统</p>
<p># blid /dev/sdb 查看UUID是相同的(说明其实属于同一个卷的)</p>
<p># mkdir &nbsp;/mybtrfs 创建挂载点</p>
<p># mount &nbsp;-t btrfs /dev/sda(挂载点是/dev/sda也是可以的)</p>
<p># umount /dev/sda 卸载</p>
<p># mount&nbsp;-o compress=lzo /dev/sdb /mybtrs重新使用,此时就是自动压缩(透明压缩)</p>
<p>#btrfs filesystem resize -10G /mybtrfs</p>
<p>(btrfs filesystem resize调整磁盘大小)</p>
<p># btrfs devices add /dev/sdd /mybtrfs 自动磁盘扩展逻辑边界</p>
<p># man btrfs-balance start /mytrfs</p>
<p>#&nbsp;btrfs-lalance start -mconvert=raid1 /mytrfs 修改元数据的raid级别</p>
<p>#&nbsp;btrfs balance status /mytrfs</p>
<p># btrfs device delete /dev/sda /mybtrfs 拆除设备,系统会自动移动数据</p>
<p># btrfs sublimvolume create /mybtrfs &nbsp; 创建子卷</p>
<p># btrfs subvolume create /mybtrfs/logs 创建logs子卷</p>
<p>umount /mybtrfs &nbsp; &nbsp; &nbsp;</p>
<p>mount /dev/sdb &nbsp; /mybtrfs &nbsp;可以卸载父卷,只挂着子卷</p>
<p>btrfs subvolume list /mybtrfs 显示mybtrs</p>
頁: [1]
查看完整版本: centos7文件系统管理btrfs详解