linux运维学习第十三课

来源:互联网 发布:linux jdk1.8 编辑:程序博客网 时间:2024/05/17 07:52

####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

 

0 0
原创粉丝点击