文件系統加密,磁盤加密以及磁盤陣列,磁盤擴展

####swap分區不夠了,卻沒有多餘的磁盤空間去創建swap分區,還要加裝一個軟件,該如何解決?

 
在根目錄下去申請空閒的塊,申請足夠數量的塊,作爲一個swap分區
 dd if=/dev/zero of=/swap/file bs=1Mcount=1000    
就能得到一個1G的空間
###############################################################################



###############
####
加密####
###############

文件的存儲:

設備-------文件系統------文件

1>
對文件進行加密:

 
設備-------文件系統------文件------加密

2>
對設備進行加密:

 
設備-------加密------文件系統------文件

當把加密層刪掉之後,第一種加密方式就被破壞,文件變爲可讀取,而第二種加密方式存儲方式被破壞,文件不可讀取。

##
設備加密的方式:##

1>
加密:

 cryptsetup luksFormat /dev/vdb1   ##
對設備/dev/vdb1 進行加密

-------------------------
[root@localhost ~]# cryptsetup luksFormat /dev/vdb1

WARNING!
========
This will overwrite data on /dev/vdb1 irrevocably.

Are you sure? (Type uppercase yes): YES     ##
必須是大寫
Enter passphrase:
Verify passphrase:
[root@localhost ~]#
---------------------------

2>
解鎖與使用、關閉:

 1 cryptsetup open /dev/vdb1 redhat      ##
對加密設備/dev/vdb1進行解鎖,解鎖爲redhat
   ***
解鎖之後的分區自動顯示在 /dev/mapper 目錄下 每次解鎖的名稱可以不一樣
 2 mkfs.xfs /dev/mapper/redhat           ##
加密分區的使用是對解鎖後的分區進行操作,此處爲格式化分區
 3 mount /dev/mapper/redhat /mnt         ##
掛載分區
 4 touch /mnt/file                      ##
創建文件以便於測試
 5 umount /dev/mapper/redhat             ##
卸載分區
 6 cryptsetup close/dev/mapper/redhat   ##
關閉分區
 7 cryptsetup close /dev/vdb1            ##
錯誤的關閉方式,只能去關閉解鎖後的分區
 8 ls /dev/mapper/                       ##
查看是否關閉,如果關閉,解鎖後的分區應該消失
 
-----------------------------
[root@localhost ~]# cryptsetup open /dev/vdb1 redhat
Enter passphrase foR /dev/vdb1:
[root@localhost ~]# ls /dev/mapper/
control  redhat
[root@localhost ~]# mkfs.xfs /dev/mapper/redhat
meta-data=/dev/mapper/redhat    isize=256    agcount=4,agsize=65408 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=0
data     =                       bsize=4096   blocks=261632, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=0
log      =internal log           bsize=4096   blocks=853, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                  extsz=4096   blocks=0,rtextents=0
[root@localhost ~]# mount /dev/mapper/redhat /mnt
[root@localhost ~]# touch /mnt/file
[root@localhost ~]# umount /dev/mapper/redhat
[root@localhost ~]# cryptsetup close /dev/vdb1         ##
錯誤的關閉方式
Device vdb1 not found
[root@localhost ~]# cryptsetup close /dev/mapper/redhat
[root@localhost ~]# ls /dev/mapper/
control


------------------------------
3>
加密設備的自動掛載:

 1 vim /root/passwdfile                    ##
編輯保存密碼的文件,
 2 cryptsetup luksAddKey /dev/vdb1 /root/passwdfile   ##
關聯加密設備與解密文件
 3 vim /etc/crypttab                             ##
確定解密之後的文件名
    *******
    redhat  /dev/vdb1   /root/passwd
    *******

 4 vim /etc/rc.d/rc.local                        ##
開機自動掛載解密之後的文件
    *******
    .
    .
    mount /dev/mapper/redhat  /mnt
    *******

 5 chmod +x /etc/rc.d/rc.local

----------------------------------
[root@desktop12 ~]# vim /root/passwdfile          ##
裏面只放加密設備的密碼,我的密碼爲2017redhat
--------
2017redhat
--------
[root@desktop12 ~]# chmod 600 /root/passwdfile
[root@desktop12 ~]# cryptsetup luksAddKey /dev/vdb1 /root/passwdfile  
[root@desktop12 ~]# vim /etc/crypttab   
[root@localhost ~]# cat /etc/crypttab
redhat  /dev/vdb1   /root/passwdfile                         
[root@desktop12 ~]# vim /etc/rc.d/rc.local
[root@localhost ~]# tail -n 1 /etc/rc.d/rc.local
mount /dev/mapper/redhat  /mnt                      
[root@desktop12 ~]# chmod +x /etc/rc.d/rc.local

------------------------------------



4>
刪除加密分區

  1 umount /mnt/                         ##
先卸載它掛載的目錄
  2 df
  3 rm -fr /root/passwdfile              ##
刪除密碼文件
  4 rm -fr /etc/crypttab                 ##
刪除解密文件名存儲文件
  5 cryptsetup close westos              ##
關閉解密
  6 ll /dev/mapper/
  7 mkfs.xfs /dev/vdb1 -f                ##
如果不想要設備,強制格式化設備
  8 fdisk /dev/vdb                       ##
刪除設備
  9 fdisk -l
  10 partprobe                             ##
內核掃描分區情況

----------------------------------
[root@localhost ~]# rm -fr /root/passwdfile
[root@localhost ~]# rm -fr /etc/crypttab
[root@localhost ~]# vim /etc/rc.d/rc.local
[root@localhost ~]# cryptsetup close redhat
[root@localhost ~]# ls /dev/mapper/
control
[root@localhost ~]# fdisk /dev/vdb
.
.
Command (m foR help): d
Selected partition 1
Partition 1 is deleted

Command (m foR help): wq
The partition table has been altered!
.
.
[root@localhost ~]# fdisk -l
.
.
   Device Boot      Start         End      Blocks  Id  System
/dev/vda1   *        2048   20970332    10484142+  83 Linux

.
.
   Device Boot      Start         End      Blocks  Id  System
[root@localhost ~]# partprobe
-----------------------------


#############
###
磁盤陣列
#############

等級:
 raid 0  
兩塊一起存,每個磁盤分一半數據,存儲效率提高
 raid 1  
兩塊一起讀,每個磁盤存一份完整的數據,讀取效率提高
 raid 5  0+1
讀寫性能提升最少三塊磁盤

1>
建立磁盤陣列:
 1 fdisk /dev/vdb
 2 partprobe
 3 cat /proc/partitions
 4 fdisk -l
 5 mdadm -C /dev/md0 -a yes -l 1 -n 2 -x 1 /dev/vdb{1..3}    ##
創建磁盤陣列md0三塊硬盤,兩塊使用,一塊待命
    **********
    -C   /dev/md0    ##
創建
    -a   yes         ##
如果不存在自動創建
    -l   1           ##
使用raid等級爲1
    -n   2           ##
工作磁盤個數
    -x   1           ##
待命磁盤個數
    ***********

 6 mkfs.xfs /dev/md0
 7 mount /dev/md0 /mnt
 8 df
 9 cd /mnt
 10 ls
 11 mdadm -D /dev/md0

---------------------------------
[root@localhost ~]# mdadm -C /dev/md0 -a yes -l 1 -n 2 -x 1/dev/vdb{1..3}
mdadm: Note: this array has metadata at the start and
    may not be suitable as a bootdevice.  If you plan to
    store '/boot' on this device pleaseensure that
    your boot-loader understands md/v1.xmetadata, or use
    --metadata=0.90
Continue creating array? y
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md0 started.

[root@localhost ~]# mdadm -D /dev/md0
/dev/md0:
        Version : 1.2
  Creation Time : Tue Feb 21 21:56:142017
     Raid Level : raid1                        ##raid
等級爲1
     Array Size : 204608 (199.85 MiB209.52 MB)
  Used Dev Size : 204608 (199.85 MiB209.52 MB)
   Raid Devices : 2
  Total Devices : 3
    Persistence : Superblock ispersistent

    Update Time : Tue Feb 21 22:05:042017
          State : clean
 Active Devices : 2                           ##
使用的2
Working Devices : 3                          ##
工作的3
 Failed Devices : 0                           ##
壞掉的0
  Spare Devices : 1                           ##
待命的1

           Name : localhost:0  (local to host localhost)
           UUID :9cdc9668:ccb6ae6e:c038c942:c4909237
         Events : 17

    Number   Major  Minor   RaidDevice State
       0     253      17        0      active sync   /dev/vdb1
       1     253      18        1      active sync   /dev/vdb2

       2     253      19        -      spare  /dev/vdb3
------------------------------------------

2>
更換/刪除磁盤陣列:

  1  mdadm -D /dev/md0
  2  mdadm -f /dev/md0 /dev/vdb1               ##
磁盤vdb1壞了,將它停止使用
  3  mdadm -D /dev/md0                       
  4  mdadm -r /dev/md0 /dev/vdb1                ##
刪掉vdb1
  5  mdadm -a /dev/md0 /dev/vdb1                ##
添加新的磁盤
  6  umount /mnt/                               ##
取消掛載
  7  mdadm -S /dev/md0                          ##
停止磁盤陣列
  8  rm -fr /dev/md0                            ##
刪除磁盤陣列
  9  fdisk /dev/vdb                             ##
刪除分區
  10 partprobe                                  ##
更新內核掃描分區信息
  11 cat /proc/partitions

--------------------------------
[root@localhost ~]# mdadm -f /dev/md0 /dev/vdb1
mdadm: set /dev/vdb1 faulty in /dev/md0
[root@localhost ~]# mdadm -D /dev/md0
       .
       .
    Number   Major  Minor   RaidDevice State
       2     253      19        0      active sync  /dev/vdb3
       1     253      18        1      active sync   /dev/vdb2

       0     253      17        -      faulty  /dev/vdb1
[root@localhost ~]# mdadm -r /dev/md0 /dev/vdb1
mdadm: hot removed /dev/vdb1 from /dev/md0
[root@localhost ~]# mdadm -D /dev/md0
       .
       .
    Number   Major  Minor   RaidDevice State
       2     253      19        0      active sync   /dev/vdb3
       1     253      18        1      active sync   /dev/vdb2
[root@localhost ~]# mdadm -a /dev/md0 /dev/vdb1
mdadm: added /dev/vdb1
[root@localhost ~]# mdadm -D /dev/md0
           .
           .
    Number   Major  Minor   RaidDevice State
       2     253      19        0      active sync   /dev/vdb3
       1     253      18        1      active sync   /dev/vdb2

       3     253      17        -      spare  /dev/vdb1
[root@localhost ~]# umount /mnt
[root@localhost ~]# mdadm -S /dev/md0
mdadm: stopped /dev/md0
[root@localhost ~]# mdadm -D /dev/md0
mdadm: cannot open /dev/md0: No such file or directory
[root@localhost ~]# rm -fr /dev/md0
[root@localhost ~]# fdisk /dev/vdb
   .
   .
Command (m foR help): d
Partition number (1-3, default 3):
Partition 3 is deleted

Command (m foR help): d
Partition number (1,2, default 2):
Partition 2 is deleted

Command (m foR help): d
Selected partition 1
Partition 1 is deleted

Command (m foR help): wq
The partition table has been altered!

Calling ioctl() to re-read partition table.
Syncing disks.
[root@localhost ~]# partprobe
[root@localhost ~]# cat /proc/partitions
major minor  #blocks  name

 253        0  10485760 vda
 253        1  10484142 vda1
 253      16   10485760 vdb
[root@localhost ~]#
---------------------------


#####################
#####
磁盤配額
#####################

  1 mkdir /pub
  2 fdisk /dev/vdb                  ##
申請一個分區
  3 mkfs.xfs /dev/vdb1 -f           ##
格式化爲xfs格式
  4 mount -o usrquota,grpquota /dev/vdb1 /pub      ##
將它掛載在 /Pub,並開啓ug磁盤配額
  5 chmod 777 /pub
  6 df                              ##
查看掛載情況
  7 quotaon -ugv /dev/vdb1           ##
開啓磁盤配額
  8 edquota -u student              ##
設置student的磁盤配額
     Disk quotas foR user student (uid1000):
     Filesystem                   blocks       soft       hard    inodes     soft     hard
     /dev/vdb1                     61440          0    102400          1        0       0

  9 su - student                    ##
切換到普通用戶

     -------------                    ##
在普通用戶下進行的操作
 10 dd if=/dev/zero of=/pub/file bs=1M count=70
 11 quota                           ##
普通用戶下查看配額
 12 su -                            ##
返回超級用戶
     -------------        

 13 repquota   -a                    ##
查看磁盤配額報告


---------------------------------


#######################
#####
磁盤擴展
######################

   pv        ##
物理卷
   vg        ##
物理卷組
   lvm       ##
邏輯卷
   pe        ##
物理卷最小單位


 
建立lvm步驟:

 
先申請分區
 
將分區變爲pv
 
pv變爲vg
 
vg變爲lvm


xfs
支持熱拉伸,不支持縮減
ext4
支持縮減,不過不支持熱拉伸

##
拉伸
    1 fdisk /dev/vdb                  ##
申請id8e的分區
    5 pvcreate  /dev/vdb1
    6 pvcreate  /dev/vdb2             ##
建立pv
    7 pvcreate  /dev/vdb3
    8 vgcreate vg0 /dev/vdb1          ##
建立vg
    9 lvcreate -L  100M -n lv0 vg0    ##
建立lv
   10 mkfs.xfs /dev/vg0/lv0           ##
格式化爲xfs
   11 mount /dev/vg0/lv0 /data        ##
掛載
   12 vgextend vg0 /dev/vdb2          ##
擴展vg
   13 lvextend -L 1200M /dev/vg0/lv0  ##
擴展lv
   14 xfs_growfs /dev/mapper/vg0-lv0  ##
拉伸文件系統
 
      


##
縮減
   18 mkfs.ext4 /dev/vg0/lv0          ##
格式化爲ext4
   19 umount /data
   26 e2fsck -f /dev/vg0/lv0          ##
檢測文件系統
   29 resize2fs /dev/vg0/lv0 500M     ##
縮減文件系統
   30 mount /dev/vg0/lv0 /data        ##
掛載
   31 lvreduce -L 500M /dev/vg0/lv0   ##
縮減lv
   32 umount /data
   33 e2fsck -f /dev/vg0/lv0
   34 resize2fs /dev/vg0/lv0 100M
   35 lvreduce -L 100M /dev/vg0/lv0
   36 mount /dev/vg0/lv0 /data
   37 pvmove  /dev/vdb1 /dev/vdb3    ##
轉移數據,從13
   38 vgreduce vg0 /dev/vdb1         ##
縮減vg
   39 vgreduce vg0 /dev/vdb2
   40 pvremove /dev/vdb2            ##
移除
   41 pvremove /dev/vdb1



####lvm
快照

   49 lvcreate  -L 20M -n lv0-snap  -s /dev/vg0/lv0     ##
建立快照
   50 mount /dev/vg0/lv0-snap /data                     ##
掛載快照
   52 df
   53 rm -fr /data/*                                    ##
誤刪數據
   56 umount /data                                      ##
取消掛載
   60 lvremove /dev/vg0/lv0-snap                        ##
刪除快照
   61 lvcreate -L 20M -n lv0-snap -s /dev/vg0/lv0       ##
重建快照
   62 mount /dev/vg0/lv0-snap /data                     ##
掛載快照
   63 ls /data

 

發佈了54 篇原創文章 · 獲贊 32 · 訪問量 7萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章