linux中磁盘管理

一.磁盘知识简介

  1.查看系统中挂载设备的情况

  sda 第一块串口硬盘

  fdisk -l              系统真实存在的设备

     

      vda和vdb分别是第一块虚拟磁盘和第二块虚拟磁盘

  cat /proc/partitions  系统识别的设备

  blkid                 系统中可以用的设备

  df                    系统中正在挂载的设备

       

  从图中我们可以看出df -h和df -H 是不同的,他俩的区别在于:df -h (1M=1024K)   df - H  (IM=1000K)  

  df<=blkid<=cat /proc/partitions<=fdisk -l


  2.挂载与卸载u盘(强制卸载)

  mount  /dev/adb1 /mnt  将u盘挂载在/mnt下

  umount /dev/sdb1  卸载u盘

  实验做法:

  u盘挂载在/mnt下,进入/mnt目录,另外打开一个shell,在里边卸载u盘,发现不能卸载,用命令fuser /dev/sdb1强行卸载。

   


3.修改设备的挂载参数

   (1)将u盘以只读模式挂载在/mnt下 mount -o ro /dev/sdb1 /mnt

        

        

    (2)发现在mnt里边不能建立文件,如果想将u盘变成读写的有两种办法:

      第一种,卸载u盘重新挂载在mnt下

        

        

        第二种,mount -o remount,rw /dev/sdb1 以读写模式重新挂载在这个地方

         

        mount 查看挂载参数  ro(只读)  rw(读写)

.对磁盘进行分区

   我们知道,系统放在磁盘中,磁盘管理着系统的启动,当pc接上电源后,停在固定磁道的磁头需要去到系统所在的扇区启动系统,所以需要在磁头开始的地方写上引导程序,让接通电源后,磁头直接去系统所在的扇区,启动系统。这个引导程序是写在磁盘上的,为了不浪费空间,它应该尽可能的小,现在最小是446个字节,而与其最接近的完整字节应该为512字节,512-446=66,将这多余的66个字节分为64和2,64记录的是分区表,2记录的是 ,而我们通过实验知道一个分区需要在分区表中占据16个字节,所以64个字节的空间只能有四个分区。如果我们想要得到多于5个的分区,则需要将第四个分区变为扩展分区,在扩展分区中还可以添加逻辑分区。

   1.fdisk -l

   2.fdisk /dev/vdb

    

   3.n  选择新建分区

      p的意思是建立主分区

   4.一个分区建立完成

   重复这个动作,划分2,3区域。在第四个的时候,我们需要选择e(扩展分区),默认起始位置,默认结束位置,将剩下的所有空间都分给扩展分区。接着建立第五个分区,跟之前步骤相同。

       

   5.显示分区结果

       

     6.保存退出,显示所得分区表

    

    从图中我们可以看到,123是主分区,4是扩展分区,5是4的逻辑分区

   10.如果没有自动读取分区文件,那么我们需要手动加载分区文件partprobe


   对磁盘分区结束后,我们发现这是不能挂载的,我们需要让它获得文件系统后才能挂载

   mkfs.xfs /dev/vdb1(格式化)

    

   2,3,5重复这个命令,而4不能,因为4是扩展分区,是一个容器,本身就不能挂载


.修改分区方式位gpt

 1.parted /dev/vdb

 2.mklabel  选择gpt方式

 3.fdisk /dev/vdb 跟上边一样开始分区,不过在这个里边不用选择主分区或者逻辑分区。全部都是主分区。

 4.wq退出保存

 5.mkfs.xfs /dev/vdb1 -f  让新的分区获得文件系统用于挂载


.设置/dev/vdb1开机时自动挂载在/mnt

   vim /etc/fstab

      在里边写入    /dev/vdb   /mnt  xfs defaults 0 0

   mount -a  重新读取该文件,使其挂载


五.修改/dev/vdb2为swap分区

      1.fdisk  /dev/vdb

         添加一个分区

      2.对该分区改名:按t,选择82 swap分区

         

      3.wq保存退出

      4.partprobe(同步分区表)    cat partitions查看是否改标签成功

      5.mkswap  /dev/vdb2    将/dev/vdb2格式化为swap格式

        whatis mkswap        mkswap (8) - set up a Linux swap area

      6.swqpon -a /dev/vdb2

      7.swapon -s

          

      8.vim /etc/fstab

           在里边写入:/dev/vdb2    swap   swap(分区类型)   defaults   0 0 (使其开机时自动分区)

      9.swapon  -a

  删除swap分区:

       1.vim /etc/fstab

         删掉最后一行

       2.swapoff /dev/vdb2

       3.fdisk /dev/vdb  在里边删掉第二个分区

       4.partprobe  更新分区表



六.给分区加LUKS锁

   1.将/dev/vdb1从mount上卸载。然后删除该分区,重新分区,1000M

   2.cryptsetup  luksformt /dev/vdb1  对该分区加luks锁

      

           输入大写的YES,输入密码,密码要保证一定的强度

   3.mount /dev/vdb1  /mnt这时发现不能挂载,因为它加了锁

   4.cryptsetup open /dev/vdb1 jay  解锁后的可用挂载分区叫jay

   5.mkfs.xfs /dev/mapper/jay   格式化

      

   7.这时就可以将其挂载在/mnt下并且往里边写东西

   

   8.cryptsetup close jay  盖上盖子

   


  使其开机时自动挂载

     1.vim /root/diskpass  写入密码qizhaoyi123    保存密码的文件叫/root/diskpass

     2.chmod 600 /root/diskpass     给其600的权限,只有自己可以读写

     3.cryptsetup  luksAddKey  /dev/vdb1  /root/diskpass

      4.vim /etc/crypttab

         jay    /dev/vdb1     /root/diskpass

      5.vim /etc/fstab

        /dev/mapper/jay   /mnt   xfs   defaults   0 0

      6.df     显示/dev/vdb1正在挂载

      7.umount /mnt      卸载/dev/vdb1

      8.reboot         重启后df发现/dev/vdb1仍然挂载在/mnt下

   取消开机时自动挂载

      1.vim /etc/fstab

             删除添加的一行

      2.vim /etc/crypttab

             删除里边的内容

      3.rm -fr /root/diskpass

      4.umount /mnt    先卸载才可以关闭

      5.cryptsetup close jay

       6.mkfs.xfs /dev/vdb1 -f



七.两块磁盘同时读(制作磁盘阵列)

     将磁盘修改为读模式:

          1.删除以前的分区,重新划分三个1000M的分区

          2.t  l  fd  

          3.重复三次,保存退出。刷新分区表partprobe

          4.打开一个shell,连接server,做监控命令watch -n 1 cat /proc/mdstat

          5.在原本的shell里边输入mdadm -C /dev/md0 -a yes -l 1 -n 2 -x 1 /dev/vdb{1..3}

                 -a  yes表示没有/dev/md0这个文件时自动建立

                 -l 1表示这两个磁盘都是用来读的  同时写,读的快

                 -n 2 表示用两个磁盘分区读

                  -x 1 表示闲置1个   在下边的图中我们可以看到vdb1和vdb2正在同时读,vdb3处于闲置状态

            

            

         6.mkfs.xfs /dev/md0

         7.mount /dev/md0 /mnt

         8.df    将/dev/md0挂载,然后显示

         9.df -H

        10.mdadm -D /dev/md0查看/dev/md0的状态,详细信息

         11.mdadm /dev/md0 -f /dev/vdb2强制损坏/dev/vdb2

                  我们发现当/dev/vdb2损坏后,/dev/vdb3立即代替2的位置,和1一起同时读

              

        12.df

              

               我们发现当/dev/vdb2损坏后,/dev/vdb3立即代替2的位置,和1一起同时读,/dev/md0仍然挂载在/mnt,不受影响

        13.mdadm /dev/md0 -r /dev/vdb2删除/dev/vdb2这个扇区

        14.mdadm -D /dev/md0

               我们会发现这时阵列中只有/dev/vdb1和/dev/vdb3

        15.mdadm /dev/md0 -a /dev/vdb2把/dev/vdb2添加到/dev/md0中

              

        16.mdadm -D /dev/md0 显示/dev/md0的状态,详细信息

        17.umount /mnt  从/mnt上卸载

        18.df

        19.mdadm -S /dev/md0 删除这三个分区组成的读写系统

        20.fdisk /dev/vdb  进入删除三个磁盘分区








猜你喜欢

转载自blog.csdn.net/jay_youth/article/details/80157551