zoukankan      html  css  js  c++  java
  • xfs文件系统

    引用http://blog.chinaunix.net/uid-522675-id-4665059.html  xfs文件系统使用总结

    1.3 xfs相关常用命令
    xfs_admin: 调整 xfs 文件系统的各种参数  
    xfs_copy: 拷贝 xfs 文件系统的内容到一个或多个目标系统(并行方式)  
    xfs_db: 调试或检测 xfs 文件系统(查看文件系统碎片等)  
    xfs_check: 检测 xfs 文件系统的完整性  
    xfs_bmap: 查看一个文件的块映射  
    xfs_repair: 尝试修复受损的 xfs 文件系统  
    xfs_fsr: 碎片整理  
    xfs_quota: 管理 xfs 文件系统的磁盘配额  
    xfs_metadump: 将 xfs 文件系统的元数据 (metadata) 拷贝到一个文件中  
    xfs_mdrestore: 从一个文件中将元数据 (metadata) 恢复到 xfs 文件系统  
    xfs_growfs: 调整一个 xfs 文件系统大小(只能扩展)  
    xfs_freeze    暂停(-f)和恢复(-u)xfs 文件系统
    xfs_logprint: 打印xfs文件系统的日志  
    xfs_mkfile: 创建xfs文件系统  
    xfs_info: 查询文件系统详细信息  
    xfs_ncheck: generate pathnames from i-numbers for XFS  
    xfs_rtcp: XFS实时拷贝命令   
    xfs_io: 调试xfs I/O路径

    2.2  计算块使用
     We want to use mysql on /dev/sda3, but how can we ensure that it is aligned with the RAID stripes?  It takes a small amount of math:

        Start with your RAID stripe size.  Let’s use 64k which is a common default.  In this case 64K = 2^16 = 65536 bytes. 默认尺寸是64K
        Get your sector size from fdisk.  In this case 512 bytes. 扇区大小512b
        Calculate how many sectors fit in a RAID stripe.   65536 / 512 = 128 sectors per stripe. 每个条带大小128个扇区。
        Get start boundary of our mysql partition from fdisk: 27344896. 查看mysql分区的起始数为27344896
        See if the Start boundary for our mysql partition falls on a stripe boundary by dividing the start sector of the partition by the sectors per stripe:  27344896 / 128 = 213632.  This is a whole number, so we are good.  If it had a remainder, then our partition would not start on a RAID stripe boundary. 查看如果由起始扇区划分的起始边界落到条带的边界,再计算扇区数,得到一个整数。如果有余数,那么我们的分区不会从raid条带边界开始。
        
    Create the Filesystem

    XFS requires a little massaging (or a lot).  For a standard server, it’s fairly simple.  We need to know two things:

        RAID stripe size
        Number of unique, utilized disks in the RAID.  This turns out to be the same as the size formulas I gave above:
            RAID 1+0:  is a set of mirrored drives, so the number here is num drives / 2.
            RAID 5: is striped drives plus one full drive of parity, so the number here is num drives – 1.
    In our case, it is RAID 1+0 64k stripe with 8 drives.  Since those drives each have a mirror, there are really 4 sets of unique drives that are striped over the top.  Using these numbers, we set the ‘su’ and ‘sw’ options in mkfs.xfs with those two values respectively.
     
    2.3 格式化文件系统
    通过以上实例总结执行命令 mkfs.xfs -d su=64k,sw=4 /dev/sda3

    3. xfs文件系统的创建
    3.1 默认方法
    #mkfs.xfs /dev/sdc1
    meta-data=/dev/sdc1 isize=256    agcount=18, agsize=1048576 blks
    data     =                       bsize=4096   blocks=17921788, imaxpct=25
             =                       sunit=0      swidth=0 blks, unwritten=0
    naming   =version 2              bsize=4096  
    log      =internal log           bsize=4096   blocks=2187, version=1
             =                       sunit=0 blks
    realtime =none                   extsz=65536  blocks=0, rtextents=0

    3.2 指定块和内部log大小

    # mkfs.xfs -b size=1k -l size=10m /dev/sdc1
    meta-data=/dev/sdc1 isize=256    agcount=18, agsize=4194304 blks
    data     =                       bsize=1024   blocks=71687152, imaxpct=25
             =                       sunit=0      swidth=0 blks, unwritten=0
    naming   =version 2              bsize=4096  
    log      =internal log           bsize=1024   blocks=10240, version=1
             =                       sunit=0 blks
    realtime =none                   extsz=65536  blocks=0, rtextents=0
    3.3 使用逻辑卷做为外部日志的卷
    # mkfs.xfs -l logdev=/dev/sdh,size=65536b /dev/sdc1
    meta-data=/dev/sdc1              isize=256    agcount=4, agsize=76433916
    blks
             =                       sectsz=512   attr=2
    data     =                       bsize=4096   blocks=305735663,
    imaxpct=5
             =                       sunit=0      swidth=0 blks
    naming   =version 2              bsize=4096   ascii-ci=0
    log      =/dev/sdh               bsize=4096   blocks=65536, version=2
             =                       sectsz=512   sunit=0 blks, lazy-count=1
    realtime =none                   extsz=4096   blocks=0, rtextents=0

    3.3 目录块

    # mkfs.xfs -b size=2k -n size=4k /dev/sdc1
    meta-data=/dev/sdc1              isize=256    agcount=4,
    agsize=152867832 blks
             =                       sectsz=512   attr=2
    data     =                       bsize=2048   blocks=611471327,
    imaxpct=5
             =                       sunit=0      swidth=0 blks
    naming   =version 2              bsize=4096   ascii-ci=0
    log      =internal log           bsize=2048   blocks=298569, version=2
             =                       sectsz=512   sunit=0 blks, lazy-count=1
    realtime =none                   extsz=4096   blocks=0, rtextents=0

    3.4 扩展文件系统
    新增的空间不会使原有文件系统上的文件不会被改动,而且被增加的空间变成可用的附加的文件存储
    XVM支持xfs系统的扩展
    # xfs_growfs /mnt
    meta-data=/mnt                   isize=256    agcount=30, agsize=262144 blks
    data     =                       bsize=4096   blocks=7680000, imaxpct=25
             =                       sunit=0      swidth=0 blks, unwritten=0
    naming   =version 2              bsize=4096  
    log      =internal               bsize=4096   blocks=1200 version=1
             =                       sunit=0 blks
    realtime =none                   extsz=65536  blocks=0, rtextents=0
    data blocks changed from 7680000 to 17921788

    4. 文件系统的维护
    4.1 碎片的整理
    查看文件块状况: xfs_bmap -v file.tar.bz2
    查看磁盘碎片状况: xfs_db -c frag -r /dev/sda1
    整理碎片: xfs_fsr /dev/sda1


    mountpoint与device要区别

    挂载点
    [root@my ~]# xfs_info /root
    meta-data=/dev/mapper/centos-root isize=256    agcount=4, agsize=3110656 blks
             =                       sectsz=512   attr=2, projid32bit=1
             =                       crc=0        finobt=0
    data     =                       bsize=4096   blocks=12442624, imaxpct=25
             =                       sunit=0      swidth=0 blks
    naming   =version 2              bsize=4096   ascii-ci=0 ftype=0
    log      =internal               bsize=4096   blocks=6075, version=2
             =                       sectsz=512   sunit=0 blks, lazy-count=1
    realtime =none                   extsz=4096   blocks=0, rtextents=0

    设备名,(下面输出比较多)
    [root@my ~]# xfs_logprint /dev/mapper/centos-root|more

    [root@my ~]# xfs_bmap /var/log/messages
    /var/log/messages:
            0: [0..119]: 6304..6423
            1: [120..127]: 6440..6447
            2: [128..135]: 6464..6471
    [root@my ~]# xfs_bmap /var/log/secure
    /var/log/secure:
            0: [0..7]: 6424..6431
            1: [8..15]: 6456..6463
            2: [16..23]: 6592..6599
    [root@my ~]# xfs_bmap -v /var/log/messages
    /var/log/messages:
     EXT: FILE-OFFSET      BLOCK-RANGE      AG AG-OFFSET        TOTAL
       0: [0..119]:        6304..6423        0 (6304..6423)       120
       1: [120..127]:      6440..6447        0 (6440..6447)         8
       2: [128..135]:      6464..6471        0 (6464..6471)         8


    [root@my ~]# xfs_db -c frag -r /dev/xvda1
    actual 326, ideal 324, fragmentation factor 0.61%

    [root@my ~]# xfs_db -c frag -r /dev/xvda2
    xfs_db: /dev/xvda2 is not a valid XFS filesystem (unexpected SB magic number 0x00000000)
    Use -F to force a read attempt.
    因为/dev/xvda2是一个pv,它没有包含文件系统

    [root@my ~]# xfs_db -c frag -r /dev/mapper/centos-root
    actual 20226, ideal 20092, fragmentation factor 0.66%
    [root@my ~]# xfs_db -c frag -r /dev/centos/root
    actual 20239, ideal 20103, fragmentation factor 0.67%
    [root@my ~]# xfs_db -c frag -r /dev/dm-0
    actual 20239, ideal 20103, fragmentation factor 0.67%


  • 相关阅读:
    一个很诡异的javascript问题
    记录我开发鞋服行业供应链软件的历程<设计业务层>
    为什么要自已写报表中心
    关于系统的性能
    “时间”都去哪儿了?性能调优分析方法与案例详解
    工程师推荐软件
    终于有人把云计算、大数据和人工智能讲明白了!
    C# Dictionary 泛型字典集合(转)
    DEV中的TreeList控件应用的一个小效果实现
    推荐VS2008插件CodeRush Xpress for C#
  • 原文地址:https://www.cnblogs.com/createyuan/p/5345539.html
Copyright © 2011-2022 走看看