linux高级文件系统管理概述:处理交换分区设置文件系统配额配置raid和逻辑卷

author author     2022-08-02     429

关键词:

8月26号,学习了linux(CentOS6.8)文件系统管理,内容颇多,主要分为如下几个部分:

一、处理交换分区和文件及移动介质的使用

二、常见工具free,df,du,dd的使用

三、设置文件系统配额

四、配置raid

五、配置逻辑卷

六、btrfs文件系统



一、处理交换分区和文件及移动介质的使用

  交换分区是系统RAM的补充 

  基本设置包括: 

    创建交换分区或者文件

    使用mkswap写入特殊签名

    在/etc/fstab文件中添加适当的条目 

    使用swapon -a 激活交换空间


1、挂载交换分区

 启用:swapon 

    swapon [OPTION]... [DEVICE] 

      -a 激活所有的交换分区 

      -s 查看交换分区详情

      -p PRIORITY:指定优先级   若要永久生效可将/etc/fstab挂载选项处改为 pri=value 

  禁用:swapoff [OPTION]... [DEVICE]


2、SWAP的优先级

  可以指定swap分区0到32767的优先级,值越大优先级越高 

  如果用户没有指定,那么核心会自动给swap指定一个优先级 ,这个优先级从-1开始,每加入一个新的没有用户指定优先 级的swap,会给这个优先级减一。


3、配置交换分区  

(1) 分区启用swap

    fdisk /dev/sdb

    mkswap -L SWAP_SDB1 /dev/sdb1

    vi /etc/fstab

    LABEL=SWAP_SDB1 swap swap defaults 0 0

    swpaon -a

    swapon -s

注:改优先级(在/etc/fstab中挂载选项改为 pri=number)后用swapoff /dev/sdb1再swapon -s

(2) 文件启用swap

    dd if=/dev/zero of=/testdir/swapfile bs=1M count=1024

    mkswap  /testdir/swapfile 

    vi /etc/fstab

    /testdir/swapfile   swap swap defaults 0 0

    swapon -s cat /proc/swaps

    swpaon -a


4、移动介质的使用

(1) 光盘

    创建iso文件 cp /dev/sr0  /testdir/centos7.iso

    将目录打包成iso文件 mkisofs -r -o /root/etc.iso  /etc/

    挂载iso文件 mount -o loop /testdir/centos7.iso /mnt/iso  (-o loop 在centos7中可省略)

    手工挂载光盘 mount /dev/cdrom /mnt/

    挂载移动设备执行操作后用 sync 进行同步(将内存的数据写入磁盘)
    弹出光盘 eject
    弹入光盘 eject -t

    刻录光盘 wodim –v –eject centos.iso

(2) USB介质

    被内核探测为SCSI设备   /dev/sdaX、/dev/sdbX、或类似的设备文件

    挂载后使用



二、常见工具free,df,du,dd的使用

1、内存空间使用状态:

    free [OPTION]

        -m: 以MB为单位

        -g: 以GB为单位


2、文件系统空间占用等信息的查看工具:

    df [OPTION]... [FILE]...

        -H 以1000为单位

        -T 文件系统类型

        -h: human-readable

        -i:inodes instead of blocks

        -P: 以Posix兼容的格式输出


3、查看某目录总体空间占用状态:

    du [OPTION]... DIR

        -h: human-readable

        -s: summary


4、dd命令:convert and copy a file

(1) 用法: dd if=/PATH/FROM/SRC of=/PATH/TO/DEST

        bs=#:block size, 复制单元大小

        count=#:复制多少个bs

(2) 各选项

    of=file 写到所命名的文件而不是到标准输出

    if=file 从所命名文件读取而不是从标准输入

    bs=size 指定块大小(既是是ibs也是obs)

    ibs=size 一次读size个byte

    obs=size 一次写size个byte

    cbs=size 一次转化size个byte

    skip=blocks 从开头忽略blocks个ibs大小的块(对if而言)

    seek=blocks 从开头忽略blocks个obs大小的块(对of而言)

    count=n 只拷贝n个记录

    lcase 把大写字符转换为小写字符

    ucase 把小写字符转换为大写字符

    nocreat 不创建输出文件

    noerror 出错时不停止

    notrunc 不截短输出文件

(3) dd完成操作

磁盘拷贝:

    dd if=/dev/sda of=/dev/sdb

备份MBR

    dd if=/dev/sda of=/tmp/mbr.bak bs=512 count=1

破坏MBR中的bootloader:

    dd if=/dev/zero of=/dev/sda bs=64 count=1 seek=446

备份:

    dd if=/dev/sdx of=/dev/sdy

        将本地的/dev/sdx整盘备份到/dev/sdy

    dd if=/dev/sdx of=/path/to/image

        将/dev/sdx全盘数据备份到指定路径的image文件

    dd if=/dev/sdx | gzip >/path/to/image.gz

        备份/dev/sdx全盘数据,并利用gzip工具进行压缩,保存到指定路径

恢复:

    dd if=/path/to/image of=/dev/sdx 将备份文件恢复到指定盘

    gzip -dc /path/to/image.gz | dd of=/dev/sdx 将压缩的备份文件恢复到指定盘

拷贝内存资料到硬盘:

    dd if=/dev/mem of=/root/mem.bin bs=1024 将内存里的数据拷贝到root目录下的mem.bin文件 从光盘拷贝iso镜像:

    dd if=/dev/cdrom of=/root/cd.iso 拷贝光盘数据到root文件夹下,并保存为cd.iso文件

销毁磁盘数据:

    dd if=/dev/urandom of=/dev/sda1 利用随机的数据填充硬盘,在某些必要的场合可以用来销毁数据 。执行此操作以后,/dev/sda1将无法挂载,创建和拷贝操作无法执行。


示例:有一个大与2K的二进制文件fileA。现在想从第64个字节位置开始读取,需要读取的大小是128Byts。又有fileB, 想把上面读取到的128Bytes写到第32个字节开始的位置,替换128Bytes,请问如何实现?

    #dd if=fileA of=fileB bs=1 count=128 skip=63 seek=31 conv=notrunc



三、设置文件系统配额

1、综述

    在内核中执行

    以文件系统为单位启用

    对不同组或者用户的策略不同

    根据块或者节点进行限制:执行软限制(soft limit)  硬限制(hard limit)

2、过程

(1) 磁盘配额:
    vim /etc/fstab
    UUID="文件系统uuid"     /home ext4      defaults,usrquota,grpquota  0 0

(2) 创建磁盘配额数据库
    quotacheck -cug  /home
    SElinux:
        setenforce  0
        getenforce
(3) 启用磁盘配额数据库
    quotaon   /home
(4) 配置磁盘配额
    edquota  wang (blocks部分的soft,hard,均是以K为单位,和磁盘的块不同)
    edquota -p wang mage(复制wang的磁盘配额给mage)   
    setquota  bash 100000 150000 0 0 /home(非交互式配置磁盘配额)
(5) 测试
    用户调查quota wang
    配额概述repquota /home

注:把home目录改为独立分区以可以启用磁盘配额(新建分区,暂时挂载到/mnt/home 把/home内容rm到/mnt/home,再把新分区挂载到/home)




四、设定和管理软RAID设备

RAID:廉价(独立)硬盘冗余阵列 Redundant Arrays of Inexpensive(Independent)Disks


1、作用

    提高IO能力:磁盘并行读写

    提高耐用性:磁盘冗余来实现


2、实现方式

    外接式磁盘阵列:通过扩展卡提供适配能力

    内接式RAID:主板集成RAID控制器 安装OS前在BIOS里配置

    软件RAID:通过OS实现


3、级别

(1) RAID-0: 条带卷

    读、写性能提升; 可用空间:N*min(S1,S2,...) 无容错能力  最少磁盘数:2, 2

(2) RAID-1: 镜像卷

    读性能提升、写性能略有下降; 可用空间:1*min(S1,S2,...) 有冗余能力  最少磁盘数:2, 2N

(3) RAID-4: (一块磁盘用于存放奇偶校验位)

    多块数据盘异或运算值,存于专用校验盘
(4) RAID-5: (多块磁盘依次存放校验位)

    读、写性能提升 可用空间:(N-1)*min(S1,S2,...) 有容错能力:允许最多1块磁盘损坏  最少磁盘数:3, 3+

(5) RAID-6:(多块磁盘依次存放校验位,两块硬盘同时存放同一校验位)

读、写性能提升 可用空间:(N-2)*min(S1,S2,...) 有容错能力:允许最多2块磁盘损坏  最少磁盘数:4, 4+

技术分享

4、RAID混合类型级别

(1) RAID-10: 读、写性能提升 可用空间:N*min(S1,S2,...)/2 有容错能力:每组镜像最多只能坏一块 最少磁盘数:4, 4+

(2) RAID-01

(3) RAID-50

(4) RAID7: 可以理解为一个独立存储计算机,自身带有操作系 统和管理工具,可以独立运行,理论上性能最高的RAID模式

(5) JBOD:Just a Bunch Of Disks 功能:将多块磁盘的空间合并一个大的连续空间使用 可用空间:sum(S1,S2,...)

注:常用raid级别:RAID-0, RAID-1, RAID-5, RAID-10, RAID-50, JBOD

技术分享

5、软raid:

(1) mdadm:为软RAID提供管理界面,模式化工具

    命令的语法格式:mdadm [mode] <raiddevice> [options] <component-devices>

    支持的RAID级别:LINEAR, RAID0, RAID1, RAID4, RAID5, RAID6, RAID10

    模式:

        创建:-C  装配: -A  监控: -F  管理:-f, -r, -a

     -C: 创建模式

        -n #: 使用#个块设备来创建此RAID

        -l #:指明要创建的RAID的级别

        -a {yes|no}:自动创建目标RAID设备的设备文件(注意与管理选项-a的区别)

        -c CHUNK_SIZE: 指明块大小

        -x #: 指明空闲盘的个数

    -D:显示raid的详细信息

        mdadm -D /dev/md#

    管理模式:

        -f: 标记指定磁盘为损坏

        -a: 添加磁盘

        -r: 移除磁盘


6、软raid5配置实例
(1) fdisk /dev/sdb  n      t fd
    /dev/sdb1
    dd if=/dev/sdb of=/dev/sdd bs=1 count=512   将sdb的分区格式同步给sdd
(2) mdadm -C /dev/md0 -a yes -l 5 -n 3 -x 1 /dev/sd{b,c,d,e}1   创建raid

(3) mkfs.ext4 /dev/md0
(4) vim /etc/fstab
    /dev/md0     /mnt/raid     ext4 defaults 0    0
(5) mount -a
(6) mdadm -D /dev/md0  查看状态
    cat  /proc/mdstat  观察md的状态
(7) mdadm /dev/md0 -f /dev/sdb1 模拟失败
(8) mdadm /dev/md0 -r /dev/sdb1 删除成员
(9) mdadm /dev/md0 -a /dev/sdb1 添加成员
(10) mdadm -Ds /dev/md0 > /etc/mdadm.conf
(11) umount /dev/md0;mdadm -S /dev/md0


7、软RAID管理

(1) 生成配置文件:mdadm –D –s  >> /etc/mdadm.conf

(2) 停服务:mdadm –S /dev/md0

(3) 激活:mdadm –A –s /dev/md0 激活

(4) 强制启动:mdadm –R /dev/md0

(5) 删除raid信息:mdadm --zero-superblock /dev/sdb1


8、清除软raid示例
(1) umount /dev/md0;mdadm -S /dev/md0
(2) mdadm --zero-superblock /dev/sdx 清除成员raid信息
(3) fdisk /dev/sdx 删除成员分区
(4) vim /etc/fstab
(5) rm /etc/mdadm.conf


五、逻辑卷管理器(LVM)

1、概述

允许对卷进行方便操作的抽象层,包括重新设定 文件系统的大小

允许在多个物理设备间重新组织文件系统

    将设备指定为物理卷

    用一个或者多个物理卷来创建一个卷组

    物理卷是用固定大小的物理区域(Physical Extent, PE)来定义的

    在物理卷上创建的逻辑卷 是由物理区域(PE)组成

    可以在逻辑卷上创建文件 系统


2、创建逻辑卷
(1) 分区
    fdisk /dev/sda t  8e
    partx -a /dev/sda
    lsblk
(2) pvcreate  /dev/sd{a7,b}
    pvs
    pvdisplay
(3) vgcreate vg0 /dev/sd{a7,b}
    vgs;pvs;pvdisplay;vgdisplay
(4) lvcreate  -n lv0 -L 10G vg0
(5) mkfs.ext4 /dev/vg0/lv0
(6) vi /etc/fstab
    mkdir /mnt/lv0;mount -a

3、扩展lv
    lvextend  -L +10G  /dev/vg0/lv0
    resize2fs  /dev/vg0/lv0
    df -h

4、扩展卷组
    pvcreate  /dev/sdc
    vgextend vg0 /dev/sdc


5、删除逻辑卷
删除逻辑卷必须先删除LV,再删除VG,最后删除PV


6、为现有逻辑卷创建快照

    #lvcreate -l  64  -s  -n snap-data -p r /dev/vg0/data



六、btrfs文件系统

    技术预览版

    Btrfs (B-tree, Butter FS, Better FS), GPL, Oracle, 2007, CoW

1、核心特性:

    多物理卷支持:btrfs可由多个底层物理卷组成,支持RAID, 以及联机“添加”、“移除”,“修改”

    写时复制更新机制(CoW):复制、更新及替换指针,而非“就地 ”更新

    数据及元数据校验码:checksum

    子卷:sub_volume

    快照:支持快照的快照

    透明压缩


2、创建和挂载

(1) 文件系统创建:

    mkfs.btrfs

        -L ‘LABEL‘

        -d <type>: raid0, raid1, raid5, raid6, raid10, single

        -m <profile>: raid0, raid1, raid5, raid6, raid10, single, dup

        -O <feature>

            -O list-all: 列出支持的所有feature

        mkfs.btrfs -L mydata -f /dev/sdb /dev/sdc

(2) 属性查看:

    btrfs filesystem show ; blkid btrfs filesystem show –mounted|all-devices

(3) 挂载文件系统:

    mount -t btrfs /dev/sdb MOUNT_POINT


3、ext4和btrfs互转

(1) ext4转化为btrfs

    fdisk /dev/sdd分区

    mkfs.ext4 /dev/sdd1

    mount /dev/sdd1 /mnt

    cp /etc/fstab /mnt

    umount /mnt/

    fsck -f /dev/sdd1

    btrfs-convert /dev/sdd1 转化ext4为btrfs

    btrfs filesystem  show

    mount /dev/sdd1 /mnt

(2) btrfs转化ext4文件系统

    umount /mnt

    btrfs-convert -r /dev/sdd1

    blkid /dev/sdd1
    再转换成btrfs btrfs-convert  /dev/sdd1

本文出自 “笑猴子” 博客,请务必保留此出处http://xiaomonkey.blog.51cto.com/11869371/1844927

linux入门之磁盘管理/etc/fstab与交换分区

...交换分区在linux通过挂载命令可以使用各种选项进行不同文件系统的设备文件进行挂载,当然不仅限于块设备,但是无论怎么挂载,一般默认新建的文件系统进行挂载开机是不会自动挂载的,每次开启自动挂载的分区时通过/etc/fs... 查看详情

linux高级文件系统管理——lvm

在企业里面,很多时候,我们也无法估量应用程序对磁盘空间的使用量,如果我们使用用传统的文件系统,磁盘分区一旦确定下来以后,就再也无法更改使用空间了,如果需要更改就必须让应用程序离线后,对原有分区的数据... 查看详情

linux磁盘管理(fdisk磁盘管理工具|swap交换分区|lvm逻辑卷管理)(代码片段)

目录1Linux磁盘管理1.1fdisk磁盘管理工具1.2文件系统2磁盘管理二2.1创建swap交换分区2.2关闭swap交换分区2.3逻辑卷管理:LVM1Linux磁盘管理lsblk:列出所有可用块设备的信息fdisk-l:查看磁盘所有分区信息blkid:查看文件系... 查看详情

高级文件系统管理

1.设定文件系统配额,只能针对磁盘独自分区的文件系统不能针对文件目录未分区磁盘 <1>.实现home家目录的迁移迁移之前实行备份--新建一分区sdc2--创建文件系统--创建目录并挂载--拷贝--切换单一模式备份后删除以前家目... 查看详情

【学了就忘linux高级文件系统管理】—5.图形界面进行lvm分区

参考技术A接下来我们开始手动创建LVM逻辑卷分区。我们先用新安装Linux系统时的图形化界面,来演示一下LVM逻辑卷如何进行分区。从安装Linux系统(二)文章的第12步开始,我们来演示一下LVM逻辑卷分区。之前我们12步选择的分区... 查看详情

linux系统中进行磁盘管理的常用命令都有哪些

Linux磁盘与文件系统管理命令  fdisk:磁盘分区工具partprobe:更新内核的硬盘分区表信息tune2fs:调整ext2/ext3/ext4文件系统参数parted:磁盘分区工具mkfs:创建Linux文件系统dumpe2fs:导出ext2/ext3/ext4文件系统信息resize2fs:调整ext2/ext3/... 查看详情

linux操作系统原理—内存管理—swap交换内存

目录文章目录目录Swap交换分区Swap交换分区Swap交换分区本质是一个磁盘分区,作为一个临时性的MainMemory替补。当Memory已满时使用,页面可以移出内存并放入磁盘中,这个过程称为交换,但速度会慢很多。常应用于... 查看详情

linux操作系统原理—内存管理—swap交换内存

目录文章目录目录Swap交换分区Swap交换分区Swap交换分区本质是一个磁盘分区,作为一个临时性的MainMemory替补。当Memory已满时使用,页面可以移出内存并放入磁盘中,这个过程称为交换,但速度会慢很多。常应用于... 查看详情

linux的磁盘管理与文件系统

...RB与磁盘分区表示1.2.1主引导记录(MRB)1.2.2磁盘分区二、文件系统类型2.1XFS文件系统2.2SWAP,交换文件系统2.3Linux支持的其它文件系统类型三、硬盘与分区3.1fdisk-查看/管理磁盘分区3.2交互模式中的常用指令3.3创建分区步骤四、创... 查看详情

文件系统概述和ext2文件系统(代码片段)

文件系统概述和EXT2文件系统文件系统概述常用的文件系统有windows98前的FAT、windows2000后的NTFS、linux的Ext2/3/4、SGI的XFS文件系统等对于传统的文件系统而言,一个分区槽只能格式化为一个文件系统,但是目前由于LVM与软件磁盘阵列... 查看详情

linux基础补充——存储结构与管理硬盘(代码片段)

...量配额VDO链接简介Linux的学习步骤:Linux基础操作Linux高级应用Linux内核入门Linux内核进阶前两部分可以看《Linux就该这么学》和《鸟哥的Linux私房菜》Linux内核入门可以看《奔跑吧Linux内核》及其他经典书籍后续基础都以补充的... 查看详情

高级文件系统管理

            设定文件系统配额1.分区挂载选项:usrquota、grpquota (可以设置为分区开机自动挂载选项)2.初始化数据库:quotacheck -cugdirname  -u生成user.quota文件 & 查看详情

linux第15天:(08月29日)linux高级文件系统管理

Linux第15天:(08月29日)Linux高级文件系统管理  本章内容设定文件系统配额设定和管理软RAID设备配置逻辑卷设定LVM快照btrfs文件系统  配置配额系统综述在内核中执行以文件系统为单位启用对不同组或者用户的策略不... 查看详情

linuxcentos8(交换分区的添加与管理)(代码片段)

...中交换分区的添加与管理。二、相关概念2.1交换分区Linux系统中的交换分区是当物理内存(RAM&#x 查看详情

linuxcentos8(交换分区的添加与管理)(代码片段)

...中交换分区的添加与管理。二、相关概念2.1交换分区Linux系统中的交换分区是当物理内存(RAM&#x 查看详情

linux高级文件系统管理——btrfs

前几天,关于高级文件系统方面也给大家分享过RAID和LVM,今天给大家分享的这款文件系统可能比这两者更先进,可以将其二者合二为一。第一,它可以使用磁盘或者分区大小不一样的设备组建RAID;第二,它可以做到像LVM一样,... 查看详情

windows磁盘管理概述及技术

磁盘管理的概述文件在存储介质上的组织由文件系统负责管理FAT文件系统NTIS文件系统分区方式MBR和GPT可以MBR(masterbootrecord主启动记录)包含引导程序和分区表分区表中存储着硬盘的每个分区的信息每块硬盘至多可以划分4个分区... 查看详情

linux文件系统管理

参考技术A  3.1Linux文件系统类型  不同的操作系统使用不同类型的文件系统,为了与其他的操作系统兼容,以相互交换数据,  通常,每种操作系统都支持多种类型的文件系统。  Linux中保存数据的磁盘分区通常采用EXT2... 查看详情