基于Linux下的硬盘分区管理、分区的加密设置以及磁盘阵列

本章节我们主要学习如何对硬盘进行分区已经分区后的管理,首先我们需要知道硬盘的一些基础知识:

(1)dev/hd0并口硬盘

      /dev/sda串口硬盘
     /dev/cdrom  /dev/sr0
光驱
    /dev/mapper
虚拟设备
(2)系统中设备的查看
     fdisk -l
真实存在的设备  1
     cat /proc/partitions
系统中真实识别的 2
     blkid
系统中正在用或可用设备 3
    df  -l
系统真实使用的设备 4
  根据数字的缩小,设备范围也逐步减小
1.
设备的挂载:
 
插入u盘 ,使用df进行查看查看u盘是否挂载
  umount /dev/sdb1 
删除挂载
  mount /dev/sdb1/ /mnt/
重新挂载设备
  cd /mnt/
  umount /dev/sdb1/
不能删除挂载,(有程序正在此设备上执行)
  fuser -kvm /dev/sdb1 
结束设备上正在运行的程序

  umount /dev/sdb1/   成功删除挂载

基于Linux下的硬盘分区管理、分区的加密设置以及磁盘阵列

  基于Linux下的硬盘分区管理、分区的加密设置以及磁盘阵列
  umount -o ro /dev/sdb1/ /mnt/   指定参数挂载设备
挂载
  umount -o remount,rw /dev/sdb1   重新挂载,修改挂载方式

基于Linux下的硬盘分区管理、分区的加密设置以及磁盘阵列

基于Linux下的硬盘分区管理、分区的加密设置以及磁盘阵列

2.硬盘分区管理

  主分区(不能超过2T  扩展分区  逻辑分区(三个分区最多可以共存16个)
  fdisk /dev/vdb 
进入分区界面

 对分区命令进行熟悉

  a   toggle abootable flag
   b  edit bsd disklabel
   c  toggle the dos compatibility flag
   d  delete a partition #
删除分区
   g  create a new empty GPT partition table
   G  create an IRIX (SGI) partition table
   l  list known partition types
   m  print this menu  #
进入帮助菜单
   n  add a new partition   #
新建一个分区
   o  create a new empty DOS partition table
   p  print the partition table  #
查看分区表信息
   q  quit without saving changes  #
退出分区界面
   s  create a new empty Sun disklabel
   t  change a partition's system id  #
修改分区id
   u  change display/entry units
   v  verify the partition table
   w  write table to disk and exit  #
将当前操作写入硬盘分区表
   x  extra functionality (experts only)

分区的建立

第一个分区建立成功,前三个分区都可以用此方式进行建立

基于Linux下的硬盘分区管理、分区的加密设置以及磁盘阵列

   基于Linux下的硬盘分区管理、分区的加密设置以及磁盘阵列

  因为64位分区表只能建立4个分区,所以第四个分区默认为e扩展分区

  然后即可在扩展分区中再进行分区,所有分区类型为 逻辑分区

  分区完成之后,p查看分区,wq退出保存

  退出保存后,若系统重读了分区表则继续实验,若没重读则执行partprobe命令 手动同步到分区表

挂载分区

  首先对分区进行格式化,格式化的过程就是安装系统文件的过程,之后可进行挂载

  mkfs.xfs /dev/vdb1

 mkfs.xfs  -f /dev/vdb1    格式化(-f强制格式化)

  blikid                               查看格式化后的分区

  mount /dev/vdb1 /mnt    vdb1分区挂载在/mnt下(挂载必须在格式化之后进行,临时的。开机后失效)

  df     -l                                 查看是否挂载成功

 基于Linux下的硬盘分区管理、分区的加密设置以及磁盘阵列

改变分区类型为gpt

  第一步:解除原有分区挂载
              
删除原有分区(建议删除)
  第二步:
执行parted/dev/vdb进入parted界面,之后新建的分区则为gpt类型

  基于Linux下的硬盘分区管理、分区的加密设置以及磁盘阵列

分区类型改变后,不需之前扩展分区

 基于Linux下的硬盘分区管理、分区的加密设置以及磁盘阵列

  

  fdisk -l   查看分区类型  (还原分区类型,按照上述方法改为msdos类型

基于Linux下的硬盘分区管理、分区的加密设置以及磁盘阵列           


自动挂载分区(永久挂载)


  基于Linux下的硬盘分区管理、分区的加密设置以及磁盘阵列

   vim /etc/fstab

 /dev/vdb1   /mnt   xfs       defaults        0            0

 设备文件   挂载点  挂载格式   挂载参数  是否检测  是否备份

   mount -a   读取/etc/fstab下的文件并挂载未挂载的设备


swap分区(系统不需要挂载)

   建立一个分区

   t 改为swap分区(可以用l查看所有类型)

   partprobe   同步到分区表

   cat /proc/partitions   查看设备文件

   mkswap /dev/vdb2  格式化

   swapon -a /dev/vdb2   **swap分区(临时**,关机后消失)

   swapon -s        查看swap分区

基于Linux下的硬盘分区管理、分区的加密设置以及磁盘阵列

基于Linux下的硬盘分区管理、分区的加密设置以及磁盘阵列

  

 vim /etc/fstab

/dev/vdb2     swap  swap   defaults   0  0

  swapon -a      读取/etc/fstab下的文件并**未**的swap分区设备(永久**)
   基于Linux下的硬盘分区管理、分区的加密设置以及磁盘阵列

   删除swap分区

    vim /etc/fstab

    删除  /dev/vdb2    swap   swap   defaults  0   0

    swapoff /dev/vdb2 

    swapoff /dev/vdb2  关闭swap分区

    fdisk /dev/vdb2     删除vdb2分区

     d

     2

    partprobe     同步分区表

基于Linux下的硬盘分区管理、分区的加密设置以及磁盘阵列


 
分区加密
    首先
创建一个分区

    cryptsetup luksFortmat /dev/vdb1 对设备进行加密

    mount /dev/vdb1  /mnt    挂载设备(失败)

基于Linux下的硬盘分区管理、分区的加密设置以及磁盘阵列

    cryptsetup  open /dev/vdb1

    cryptsetup  open /dev/vdb1  westos(文件名自己设置) 解开加密

    mkfs.xfs /dev/mapper/westos    对解密的文件格式化

    mount /dev/mapper/westos /mnt  挂载设备

    umount /mnt   解除挂载

    cryptsetup close westos     关闭解密   

     基于Linux下的硬盘分区管理、分区的加密设置以及磁盘阵列
 基于Linux下的硬盘分区管理、分区的加密设置以及磁盘阵列

  自动加密分区

    vim /root/diskpass    写入密码

    chmod 600 /root/diskpass   

    cryptsetup luksAddKey /dev/vdb1/root/diskpass

    vim /etc/crypttab

     westos  /dev/vdb1 /root/diskpass

    vim /etc/fstab

  /dev/fstab   /mnt     xfs      defaults   0    0

    reboot

基于Linux下的硬盘分区管理、分区的加密设置以及磁盘阵列

基于Linux下的硬盘分区管理、分区的加密设置以及磁盘阵列

  删除加密分区

    vim /etc/fstab 删除写的命令

    vim /etc/crypttab 

    rm -fr /root/diskpass

    cryptsetup close westos 关闭解密

    cryptsetup luksRemoveKey/dev/vdb1

磁盘阵列 

首先创建分区,为fd类型

基于Linux下的硬盘分区管理、分区的加密设置以及磁盘阵列

基于Linux下的硬盘分区管理、分区的加密设置以及磁盘阵列


watch -n 1 cat /proc/mdstat  监控命令

基于Linux下的硬盘分区管理、分区的加密设置以及磁盘阵列

打开另一个shell进行试验

mdadm -C /dev/md0 -a yes -l 1 -n 2 -x 1 /dev/vdb{1..3}

 -C 创建   -a yes(若/dev/md0下没有md0文件则创建) -l 1(级别)-n 2(两个分区同时读写)-x 1(一个分区闲置)

mkfs.xfs /dev/md0 /mnt/

mount /dev/md0 /mnt

df  

df -H  将内存大小换算适合的单位

基于Linux下的硬盘分区管理、分区的加密设置以及磁盘阵列

基于Linux下的硬盘分区管理、分区的加密设置以及磁盘阵列
设备管理

   mdadm -D /dev/md0    查看设备状态

   mdadm /dev/md0 -f /dev/vdb2  强制损坏该设备

   mdadm /dev/md0 -r /dev/vdb2  删除该设备

   mdadm /dev/md0 -a /dev/vdb2  添加该设备

   mdadm -S /dev/md0   停止磁盘列阵

基于Linux下的硬盘分区管理、分区的加密设置以及磁盘阵列

基于Linux下的硬盘分区管理、分区的加密设置以及磁盘阵列

设备删除

  umount /mnt  解除挂载

  mdadm -S /dev/md0 停止

  fdisk /dev/vdb  删除

  partprobe  手动同步分区列表

基于Linux下的硬盘分区管理、分区的加密设置以及磁盘阵列

3.磁盘分区设备的配额

dd if

dd if =/dev/zero of=/mnt/studentfile bs=1M   count=10

截取     无线0字节      if inputfile 输入of:outputfile 输出文件

从无线0设备中复制数据到/mnt/studentfile中,数目为10,每个大小为1M


试验:

建立一个分区/dev/vdb1

mkfs.xfs /dev/vdb1

mkfs.xfs /dev/vdb1 格式化分区

mount -o usrquota /dev/vdb1 /mnt **参数

使用mount 查看参数是否**(最后一行

quotacheck -u /dev/vdeb1

quotaon -u /dev/vdb1(类型不是xfs的时候需要使用这两个命令)

参数**后

edquota -u student

Disk quotas for user student (uid 1000):
  Filesystem                   blocks       soft       hard    inodes     soft     hard

  /dev/vdb1                      1024          0       2016          1        0       0

基于Linux下的硬盘分区管理、分区的加密设置以及磁盘阵列

blocks显示硬件真实容量(改变对实际无影响)   soft(软件)上限容量   hard(硬件容量)

   inodes个数   sofe建立多少文件会警告hard 最多可建立多少文件

切换普通用户

dd if /dev/zero of /mnt/studentfile bs=1M count

超出限度则不能保存数据

vim /etc/fstab

/dev/vdb1 /mnt/ xfs defaults,usrquota 0 0 开机自动**参数

基于Linux下的硬盘分区管理、分区的加密设置以及磁盘阵列

基于Linux下的硬盘分区管理、分区的加密设置以及磁盘阵列

基于Linux下的硬盘分区管理、分区的加密设置以及磁盘阵列

删除
vim /etc/fstab

umount /mnt

fdisk /dev/vdb

删除分区

lvm的建立

lvm使硬盘无线扩容(把物理卷组分离出来) 

pv 物理卷(被处理过的物理分区)

vg 物理卷组

pe lv0的最小单位

试验

watch -n 1 'pvs;ngs;lvs;f -h /mnt'(监控

基于Linux下的硬盘分区管理、分区的加密设置以及磁盘阵列

创建三个分区输入(1G

t

8e改变系统分区类型

partprobe 同步分区表

pvcreate  /dev/vdb1

 vgcreate  vg0 /dev/vdb1

  lvcreate  -L 300M -n lv0 vg0(300M是分离出来的数据大小,不能超出原有硬件设备大小)(lv0lvm的名字,自己命名)

   mkfs.xfs  /dev/vg0/lv0

   mount /dev/vg0/lv0  /mnt/

    mapper  存放虚拟设备,监控时的/dev/mapper/vg0-lv0/dev/vg0-lv0一致

基于Linux下的硬盘分区管理、分区的加密设置以及磁盘阵列


使用ll进行查看

ll /dev/vg0/lv0

ll /dev/mapper/vg0-lv0 (两者一致

设备拉伸

1.直接扩大设备(是扩大到的容量,属于热拉伸,直接在原有容量上进行扩大)

lvextend -L 500M /dev/vg0/lv0     ## 扩大lv0500M

xfs-growfs /dev/vd0/lv0        

xfs-growfs /dev/vd0/lv0           ## 扩大系统设备到500M

如果想要扩大的容量,vg0不足以提供,则需要扩大vg0

pvcreate /dev/vdb2                ##第二分区创建pv

vgextend vg0 /dev/vdb2           

vgextend vg0 /dev/vdb2            ##添加物理卷/dev/vdb2的容量到vg0

lvextend -L 2000M /dev/vg0/lv0    ## 扩大lv02000M

xfs_growfs /dev/vg0/lv0      

xfs_growfs /dev/vg0/lv0           ## 重新扩大系统设备到2000M  

基于Linux下的硬盘分区管理、分区的加密设置以及磁盘阵列

拉伸系统容量(系统分区类型为ext4类型)

mkfs.ext4 /dev/vg0/lv0

mount /dev/vg0/lv0 /mnt/

mount

lvextend -L 2500M /dev/vg0/lv0

resize2fs /dev/vg0/lv0
基于Linux下的硬盘分区管理、分区的加密设置以及磁盘阵列

对系统容量进行缩减(ext4

umont /mnt/  卸载

e2fsck -f /dev/vg0/lv0        ##进行系统容量的查看,安全缩减

resize2fs /dev/vg0/lv0 1000M  ##进行设备容量的缩减

mount /dev/vg0/lv0 /mnt/      ##挂载(执行缩减命令,进行刷新)

lvreduce -L 1000M /dev/vg0/lv0##进行系统容量的缩减

基于Linux下的硬盘分区管理、分区的加密设置以及磁盘阵列

基于Linux下的硬盘分区管理、分区的加密设置以及磁盘阵列

对有占有容量的硬盘分区进行移出

pvmove /dev/vdb1 /dev/vdb2  vdb1的数据转移到vdb2中(没有占有容量则进行下面命令直接移出)

vgreduce vg0 /dev/vdb1        ## vdb1vg0中移出

pvremove /dev/vdb1            ##将设备vdb1移出
  基于Linux下的硬盘分区管理、分区的加密设置以及磁盘阵列

lv0
的快照

前提:保证设备有足够容量给予快照。如果么有。则需要添加设备

pvcreate /dev/vdb1

vgextend vg0 /dev/vdb1

正式对设备建立快照

touch /mnt/file{1..3}                        ##对挂载设备的目录建立文件

lvcreate -L 50M -n lv0backup -s /dev/vg0/lv0 ##建立快照,容量50M

mount /dev/vg0/lv0backup /mnt/             

mount /dev/vg0/lv0backup /mnt/               ##挂载快照,执行操作之后都在快照上进行

rm -rf /mnt/*

umount /mnt/                                 ##卸载快照

lvremove /dev/vg0/lv0backup                  ##删除快照

lvcreate -L 50M -n lv0backup -s /dev/vg0/lv0 ##重新建立快照

mountmount /dev/vg0/lv0backup /mnt/          ##挂载快照

ls /mnt/                                     ##查看,文件依旧存在

df   对系统所有挂载情况进行查看 

lvs  对分区设备挂载情况进行查看

基于Linux下的硬盘分区管理、分区的加密设置以及磁盘阵列

基于Linux下的硬盘分区管理、分区的加密设置以及磁盘阵列

对进行拉伸设备进行删除

umount /mnt/

lvremove /dev/vg0/lv0backup    ##删除快照

lvremove /dev/vg0/lv0          ##删除lv0             

vgremove vg0                   ##删除vg0

pvremove /dev/vdb{1..2}        ##

pvremove /dev/vdb{1..2}        ##移出设备