高級文件系統管理1

本部分內容主要講述了高級文件系統的管理,包括設定文件系統配額,設定和管理軟RAID設備,配置邏輯卷,設定LVM快照和btrfs文件系統。其中文件系統配額和軟RAID在企業中使用的頻率并不很高,作為熟練即可,而邏輯卷的創建和LVM快照是非常重要的內容,必須精通并完全理解其原理。至于btrfs文件系統是新興的一種技術,作為了解即可。

一、知識整理

1、文件系統配額綜述:在內核中執行;以文件系統為單位啟用;對不同組或者用戶的策略不同,是根據設置配額的目錄下的文件的所屬主和所屬組進行空間限定;可以根據塊或者節點進行限制,包括軟限制和硬限制。

2、RAIDredundant arrays ofinexpensiveindependentdisks

1988university of California-Berkeley發明;多個磁盤合成一個陣列來提供更好的性能或者冗余性。RAID實現方式:外接式磁盤陣列:通過擴展卡提供適配能力;內接式RAID:主板階乘RAID控制器,安裝OS之前在BIOS中配置;軟RAIDsoftware RAID:在企業基本無應用,但可作為測試進行試驗。

3、用dd命令創建空文件,對文件格式化,掛載,即可是使用文件作為存儲設備。centos6中最多8個,centos7中依次生成??梢灾付?/span>loop設備與FILE的關系,使用命令losetup /dev/loop#  /testdir/FILE指定FILEloop2,再掛載可以使用FILE或者loop設備。例如:

[root@localhost testdir]# dd if=/dev/zero of=testfile count=10 bs=10M 
10+0 records in
10+0 records out
104857600 bytes (105 MB) copied, 1.23945 s, 84.6 MB/s

格式化之后blkid無法查看,但blkid /testdir/FILE能夠查看

[root@localhost testdir]# mke2fs -t ext4 ./testfile 
mke2fs 1.41.12 (17-May-2010)
./testfile is not a block special device.
Proceed anyway? (y,n) y
Filesystem label=
OS type: Linux
Block size=1024 (log=0)
Fragment size=1024 (log=0)
Stride=0 blocks, Stripe width=0 blocks
25688 inodes, 102400 blocks
5120 blocks (5.00%) reserved for the super user
First data block=1
Maximum filesystem blocks=67371008
13 block groups
8192 blocks per group, 8192 fragments per group
1976 inodes per group
Superblock backups stored on blocks: 
8193, 24577, 40961, 57345, 73729
Writing inode tables: done                            
Creating journal (4096 blocks): done
Writing superblocks and filesystem accounting information: done
This filesystem will be automatically checked every 32 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.
[root@localhost mnt]# mount /testdir/testfile testfile/
mount: /testdir/testfile is not a block device (maybe try `-o loop'?)
[root@localhost mnt]# mount /testdir/testfile testfile/ -o loop

其他的掛載方式還有:

ftp掛載:10.1.0.1:share  /mnt/dir  nfs  …

windows共享文件夾掛載\\10.1.0.1\FILE  /mnt/dir  cifs  …

二、詳細事例及命令

1、文件系統配額配置:配置好的soft limit有效期是7天,7天后soft變為hard。啟用配額之后的空間不包含之前使用的空間,只算開啟之后的使用。

①分區,將home目錄重新掛載,掛到新建的磁盤下,步驟如下:

fdisk /dev/sdc

cd mnt/

mkdir sdc1

mke2fs -t ext4 /dev/sdc1

mount /dev/sdc1 /mnt/sdc1

mv /home/*  /mnt/sdc1/

umount  /mnt/sdc1

mkdir  /home

mount /dev/sdc1  /home

②啟用配額功能,重新掛載并寫入/etc/fstab,defaults,usrquota,grpquota

重新掛載mount -o  remount,usrquota,grpquota  /home

③啟用配額功能并編輯:首先初始化:

[root@localhost home]# quotacheck -ug /home
[root@localhost home]# ls
aquota.group  aquota.user  gjy  lisi  lost+found  shiting  zhangsan
[root@localhost home]# quotaon /home/

vim中編輯配額:

[root@localhost home]# edquota shiting

直接在shell中給定配額

[root@localhost home]# setquota shiting 100000 200000 200 230 /home

查看某用戶的配額,查看所有配額repquota /home

[root@localhost home]# quota shiting
Disk quotas for user shiting (uid 1003): 
Filesystem  blocks   quota   limit   grace   files   quota   limit   grace
 /dev/sdc1      20  100000  200000               5     200     230

設定第二個用戶與第一個用戶的配額相同:

[root@localhost home]# edquota -p shiting lisi
[root@localhost home]# repquota /home
*** Report for user quotas on device /dev/sdc1
Block grace time: 7days; Inode grace time: 7days
                        Block limits                File limits
User  used    soft    hard  grace    used  soft  hard  grace
----------------------------------------------------------------------
root   --    20      0     0       2     0     0       
gjy   --    16       0    0       4     0     0       
zhangsan --   20       0   0        5     0     0       
lisi   --    20       100000  200000    5   200   230       
shiting --    20       100000  200000   5   200   230

④取消配額:

[root@localhost /]# quotaoff /home
[root@localhost /]# umount /home
[root@localhost /]# mount /dev/sdc1 /home
[root@localhost /]# cd home/
[root@localhost home]# ls
aquota.group  aquota.user  gjy  lisi  lost+found  shiting  zhangsan
[root@localhost home]# rm aquota.group 
rm: remove regular file 'aquota.group'? y
[root@localhost home]# rm aquota.user 
rm: remove regular file 'aquota.user'? y

2、RAID級別:常用級別5、610

RAID 0:條帶卷:

分散存儲,并行放置硬盤;最少磁盤數2;提高讀寫能力,沒有冗余能力;可用空間N*mins1s2…)。

RAID 1:鏡像卷:

讀性能沒有提升,寫能力略有下降;可用空間:1*mins1,s2…);有冗余能力;最少磁盤數量2,數量太多也不好。

RAID 4

最少三塊磁盤,單塊磁盤作為校驗盤,使用異或機制,不允許一個以上損壞,訪問壓力較大。

RAID 5

循環放置校驗碼;分為左對稱和右對稱;讀寫能力有提升,可用空間(N-1*mins1s2…);有一塊硬盤的冗余能力;最少磁盤數量3個。

RAID 6

兩塊校驗盤,最少磁盤數4;可用空間(N-2*mins1,s2…);有容錯能力,讀寫能力提升;

RAID 10 :混合類型

相對01損壞可能性更小一些,讀寫能力提升,有容錯能力,每組鏡像最多只能壞一塊;最少4個磁盤,可用空間N*mins1s2…/2

blob.png

blob.png

JBODjust a bunch of disks

將多塊磁盤空間合并一個大的連續的空間使用。

3、實現軟RAIDmdadm:模式化的工具:

mdadm [] raiddevice/dev/md#[] component-device(任意塊設備)

直接支持的級別有1、45、6、10,其他組合類型可以間接實現;

模式:創建模式:-C

-n # 使用#塊盤來創建此raid

-l # 指明要創建的raid的級別

-a {yes|no} 是否自動創建目標raid設備的設備文件

-c CHUNK_SIZE 指明塊大小,默認512KB

-x # 指明空閑盤的個數

-f 人為標記錯誤盤

裝配模式-A

監控模式:-F

管理模式:-f -r -a

-r 移除一塊硬盤

-a 添加一塊硬盤

-f 模擬失敗

-D 顯示raid 的詳細信息

停止md設備 -S

添加新成員:mdadm -G /dev/md0 -n 4 -a /dev/sdf1

生成配置文件mdadm -Ds > /etc/mdadm.conf

停止服務:mdadm -S /dev/md0:此時/dev下無md0設備文件

激活服務:mdadm -A -s /dev/md0使用生成的配置文件激活服務

刪除raid信息:mdadm –zero-superblock /dev/sdb1

此命令用于徹底刪除raid的信息,包括mdadm生成的配置信息等

三、課后練習

1、創建一個2G的文件系統,塊大小為2048byte,預留1%可用空間,文件系統ext4,卷標為TEST,要求此分區開機后自動掛載至/test目錄,且默認有acl掛載選項。

fdisk /dev/sdb

mke2fs -t ext4 -b 2048 -m 1 -L "TEST"

mke2fs -t ext4 -b 2048 -m 1 -L "TEST" /dev/sdb1

dumpe2fs /dev/sdb1

vim /etc/fstab

/dev/sdb1          /testdir/         ext4    defaults,acl       0 0

2、寫一個腳本,完成如下功能:

(1) 列出當前系統識別到的所有磁盤設備;

(2) 如磁盤數量為1,則顯示其空間使用信息;

否則,則顯示最后一個磁盤上的空間使用信息。

#!/bin/bash
#test 2
#
INFO () {
fdisk -l | grep "Disk /dev/sd" | cut -d: -f1| cut -d" " -f2
}
echo "The disk name: "
INFO
NUM=`INFO | wc -l`
 
if [ $NUM -eq 1 ];then
        echo "The sda infomation: "
        fdisk -l /dev/sda | grep "/dev/sda"
else
        echo "Then `INFO | tail -1`infomation: "
        INFO | tail -1 | fdisk -l | grep "`INFO | tail -1`"
fi

3、創建一個可用空間為1GRAID1設備,要求其chunk大小為128k,文件系統為ext4,有一個空閑盤,開機可自動掛載至/backup目錄。

[root@localhost ~]# mdadm -C /dev/md0 -a yes -c 128  -l 1 -n 2  -x 1  /dev/sdc2 /dev/sdd1 /dev/sdd2
mdadm: Note: this array has metadata at the start and
    may not be suitable as a boot device.  If you plan to
    store '/boot' on this device please ensure that
    your boot-loader understands md/v1.x metadata, or use
    --metadata=0.90
Continue creating array? 
Continue creating array? (y/n) y
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md0 started.
[root@localhost ~]# ll /dev/md0 
brw-rw----. 1 root disk 9, 0 7月  27 22:43 /dev/md0
[root@localhost ~]# cat /proc/mdstat 
Personalities : [raid1] 
md0 : active raid1 sdd2[2](S) sdd1[1] sdc2[0]
      1047552 blocks super 1.2 [2/2] [UU]    
unused devices: <none>
[root@localhost ~]# mdadm -Ds > /etc/mdadm.conf
[root@localhost ~]# mdadm -D /dev/md0 
/dev/md0:
        Version : 1.2
  Creation Time : Wed Jul 27 22:43:13 2016
     Raid Level : raid1
     Array Size : 1047552 (1023.17 MiB 1072.69 MB)
  Used Dev Size : 1047552 (1023.17 MiB 1072.69 MB)
   Raid Devices : 2
  Total Devices : 3
    Persistence : Superblock is persistent
    Update Time : Wed Jul 27 22:43:23 2016
          State : clean 
 Active Devices : 2
Working Devices : 3
 Failed Devices : 0
  Spare Devices : 1
           Name : localhost.localdomain:0  (local to host localhost.localdomain)
           UUID : ea494c0e:ccb70d7f:a2cd0063:655b739c
         Events : 17
    Number   Major   Minor   RaidDevice State
       0       8       34        0      active sync   /dev/sdc2
       1       8       49        1      active sync   /dev/sdd1
       2       8       50        -      spare   /dev/sdd2
[root@localhost ~]# mke2fs -t ext4 /dev/md0 
[root@localhost /]# mkdir backup
[root@localhost /]# mount /dev/md0 /backup/
[root@localhost /]# mdadm -A -s /dev/md0 
[root@localhost /]# vim /etc/fstab

刪除此RAID設備的步驟:首先取消掛載:

[root@localhost /]# mdadm -S /dev/md0 
mdadm: Cannot get exclusive access to /dev/md0:Perhaps a running process, mounted filesystem or active volume group?
[root@localhost /]# umount /dev/md0 
[root@localhost /]# mdadm -S /dev/md0 
mdadm: stopped /dev/md0
[root@localhost /]# mdadm --zero-superblock /dev/sdd2
[root@localhost /]# mdadm --zero-superblock /dev/sdd1
[root@localhost /]# mdadm --zero-superblock /dev/sdc2
[root@localhost /]# rm /etc/mdadm.conf 
rm:是否刪除普通文件 "/etc/mdadm.conf"?y
[root@localhost /]# rm -fr backup/
[root@localhost /]# fdisk /dev/sdd
[root@localhost /]# fdisk /dev/sdc
[root@localhost /]# partprobe

4、創建由三塊硬盤組成的可用空間為2GRAID5設備,要求其chunk大小為256K,文件系統為ext4,開機可自動掛載至/mydata目錄。

[root@localhost /]# mdadm -C /dev/md0 -l 5 -n 3 -c 256 /dev/sdb1 /dev/sdb2 /dev/sdd1
mdadm: /dev/sdb1 appears to contain an ext2fs file system
       size=2097152K  mtime=Wed Jul 27 17:55:15 2016
Continue creating array? y
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md0 started.
[root@localhost /]# ll /dev/md0 
brw-rw----. 1 root disk 9, 0 7月  27 23:14 /dev/md0
[root@localhost /]# mke2fs -t ext4 /dev/md0

[root@localhost /]# mdadm -Ds > /etc/mdadm.conf
[root@localhost /]# mdadm -D /dev/md0 
/dev/md0:
        Version : 1.2
▽Creation Time : Wed Jul 27 23:14:00 2016
     Raid Level : raid5
     Array Size : 2095104 (2046.34 MiB 2145.39 MB)
  Used Dev Size : 1047552 (1023.17 MiB 1072.69 MB)
   Raid Devices : 3
  Total Devices : 3
    Persistence : Superblock is persistent
    Update Time : Wed Jul 27 23:14:53 2016
          State : clean 
 Active Devices : 3
Working Devices : 3
 Failed Devices : 0
  Spare Devices : 0
         Layout : left-symmetric
     Chunk Size : 256K
           Name : localhost.localdomain:0  (local to host localhost.localdomain)
           UUID : 1664368b:42f19d0a:3c6fb687:4a0b3b33
         Events : 18
    Number   Major   Minor   RaidDevice State
       0       8       17        0      active sync   /dev/sdb1
       1       8       18        1      active sync   /dev/sdb2
       3       8       49        2      active sync   /dev/sdd1
[root@localhost /]# mount /dev/md0 /mydata/
[root@localhost /]# vim /etc/fstab 
[root@localhost mydata]# mdadm -A -s /dev/md0

原創文章,作者:SilencePavilion,如若轉載,請注明出處:http://www.www58058.com/41327

(0)
SilencePavilionSilencePavilion
上一篇 2016-08-29 08:45
下一篇 2016-08-29 08:45

相關推薦

  • 文件管理

    compress:壓縮命令 -d:解壓縮(=uncompress) -c:結果輸出到標準輸出,不刪除原文件 -v:顯示詳情 zcat:不解壓文件查看內容   gzip:壓縮命令 -d:解壓縮 -c:結果輸出到標準輸出,不刪除原文件 -#:1-9代表壓縮比,默認為6 zcat:不解壓文件查看內容   bzip2:壓縮命令 -k:保留原文件 …

    Linux干貨 2016-08-18
  • 來到馬哥的第一天

    找到馬哥之后的故事

    Linux干貨 2018-03-26
  • 系統基礎之權限管理

    權限管理: 概論:  上節,為大家介紹了用戶,和組的知識.今天為大家介紹與用戶,組息息相關的知識,權限.linux是多用戶,多任務的操作系統,面對多人的操作,安全問題就很重要,權限機制就很好的對安全進行防護,避免他人操作自己的文件.下面給大家詳細介紹權限.   首先讓我們先直觀地看下權限,對權限有個最基本的認識.以/etc/issue文件…

    Linux干貨 2016-08-04
  • Nginx配置與應用詳解

    前言 Nginx是由俄羅斯軟件工程師Igor Sysoev開發的一個高性能的HTTP和反向代理服務器,具備IMAP/POP3和SMTP服務器功能。Nginx最大的特點是對高并發的支持和高效的負載均衡,在高并發的需求場景下,是Apache服務器不錯的替代品。目前,包括新浪、騰訊等知名網站都已使用Nginx作為Web應用服務器。本文帶來的是Nginx配置與應用詳…

    Linux干貨 2015-06-15
  • 基于NFS實現WordPress

    實驗內容: (1)主機IP nfs server IP :192.168.29.120 nfs server IP: 192.168.29.110 (2)要求 nfs server共享/data/web/ 、/data/mysql 兩個目錄 nfs client掛載nfs server共享的/data/web/的文件系統至/var/www/html;部署wo…

    2017-06-13
  • 相關練習

    1、請使用命令行展開功能來完成以下練習:    (1)、創建/tmp目錄下的:a_c, a_d, b_c, b_d  mkdir /tmp/{a,b}_{c,d}    (2)、創建/tmp/mylinux目錄下的:  mkdir -pv /tmp/mylinux/{bin,boot/grub,de…

    Linux干貨 2016-11-05
欧美性久久久久