磁盘管理

系统设备类型
  1./dev/xdxn
    x:硬盘类型(s:sata硬盘  h:串口硬盘  v:虚拟硬盘)
    x:a..z,硬盘所在个数
    n:1..16,分区所在个数
  2./dev/cdrom   ##系统光驱

    /dev/mapper/files  ##虚拟硬盘的文件


、文件系统
 1.文件系统类型
   ext4   支持1EB(1EB=1024PB  1PB=1024TB)的文件系统和单个16TB的文件
          linux 6的标准文件系统
   ext2   支持最大分区4TB,最大文件2GB
          适合小型存储设备
   vfat   支持包括一系列相关文件系统(VFAT/FAT16/FAT32),针对较旧版本的Microsoft Windows开发
   xfs    支持最大分区9EB
           linux 7的标准文件系统,数据完全、性能稳定、扩展性强(8E-1b),传输效率(7G/s)

 2.格式化分区

 

有5个分区,3个主分区,一个扩展分区,一个逻辑分区

   mkfs.xfs /dev/vdb5    ##文件系统类型xfs


   注意:可用mkfs -t xfs /dev/vdb5进行格式化



  [root@server8 ~]# mkfs.xfs /dev/vdb5
   meta-data=/dev/vdb5              isize=256    agcount=4, agsize=6400 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=0
   data     =                       bsize=4096   blocks=25600, 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@server8 ~]# blkid
    /dev/vda1: UUID="9bf6b9f7-92ad-441b-848e-0257cbb883d1" TYPE="xfs"

    /dev/vdb5: UUID="c412c527-b0af-487b-817f-a6078c757ede" TYPE="xfs"


3.挂载mount
   普通挂载

   mount /dev/vdb5 /mnt




   参数挂载

   mount -o ro /dev/vdb5 /mnt


   挂载后修改参数

    mount -o remount,rw /dev/vdb5 /mnt


4.卸载umount /mnt
   当/mnt被占用时,不能正常卸载

   [root@server8 ~]# umount /mnt


umount: /mnt: target is busy.
        (In some cases useful info about processes that use
         the device is found by lsof(8) or fuser(1))
   可用lsof(8)查看不能卸载原因

[root@server8 ~]# lsof /mnt


COMMAND  PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
vim     4569 root    3u   REG 253,21     4096  131 /mnt/.hello.swp

   或者用fuser(1)查看

[root@server8 ~]# fuser -vmK /mnt


vmK: unknown signal; fuser -l lists signals.
[root@server8 ~]# fuser -vmk /mnt
                     USER        PID ACCESS COMMAND
/mnt:                root     kernel mount /mnt
                     root       4639 F.... vim
[2]+  Killed                  vim /mnt/hello

五、gpt分区
1.GUID磁碟分割表
  GUID Partition Table:全局唯一标识磁盘分区表
  特性对比:
   MBR: 3个主分区,1个扩展分区(下含逻辑分区),最多识别16个
   GPT:128个分区,管理硬盘大小18EB
   ext3:最多支持32TB
   ext4:最多支持1EB
   xfs:容量8EB-1byte
2.修改前准备(例/dev/vdb)
   将要分区的硬盘停止(卸载所有设备)
   将该磁盘格式化
3.修改MBR分区改为GPT分区
  [root@server8 ~]# parted /dev/vdb
   (parted) mklabel
   New disk label type?                                                      
   aix    amiga  bsd    dvh    gpt    loop   mac    msdos  pc98   sun

六、Swap分区

  1.swapon -s   ##查看系统的swap分区信息


  [root@localhost ~]# swapon -s
   Filename                Type        Size    Used    Priority
   /dev/vdb1                                  partition    1023996    0    -1
  2.新建swap分区
    fdisk /dev/vdb
    先建立P分区
       Device Boot      Start         End      Blocks   Id  System
    /dev/vdb1            2048     2050047     1024000   83  Linux
    修改分区类型
    Command (m for help): t
    Selected partition 1
    Hex code (type L to list all codes): l  ##L查看所有分区类型的id
    修改成功
       Device Boot      Start         End      Blocks   Id  System

    /dev/vdb1            2048     2050047     1024000   82  Linux swap / Solaris


  3.格式化swap分区

    [root@localhost ~]# mkswap /dev/vdb1


     Setting up swapspace version 1, size = 1023996 KiB
     no label, UUID=006ca68c-ab1d-46d6-a454-8bca41b33c26
  4.挂载并查看分区信息
   [root@localhost ~]# swapon -a /dev/vdb1
   [root@localhost ~]# swapon -s
    Filename                Type        Size    Used    Priority

   /dev/vdb1                            partition    1023996    0    -1


   注意:以上设置swap分区是临时的,永久设置须修改配置文件
  5.修改配置文件,永久设置swap分区  /etc/fstab

   UUID=9bf6b9f7-92ad-441b-848e-0257cbb883d1 /                       xfs     defaults        1 1


    /dev/vdb1 swap swap defaults 0 0
    /dev/vdb1   ##设备          swap   ##挂载点       swap   ##文件系统类型
    defaults    ##挂载参数,默认  0      ##不备份       0      ##不检测

    修改后 swapon -a    ##检查报错



七、分区配额

分区建好


查看分区表


同步分区表


在看以下


  1.挂载时设置配额参数

    mount -o usrquota /dev/vdb2 /mnt


  2.进行配额设置

    edquota -u student


    Disk quotas for user student (uid 1000):
    Filesystem                   blocks       soft       hard     inodes     soft     hard
   /dev/vdb2                     10240          0      10240          1        0        0

    blocks  ##文件已占用分区大小             soft  ##文件超出配额大小,报警
    hard    ##文件不能超出配额大小           inodes ##文件个数
    soft    ##                      hard
   
    注意:xfs文件系统默认配额功能开启,ext4之前的文件系统需要quotan -n /dev/vdb 命令激活
  3.切换到student用户实验
    配额正常时

    [student@localhost ~]$ dd if=/dev/zero of=/mnt/studentfile bs=1M count=6


     6+0 records in
     6+0 records out
     6291456 bytes (6.3 MB) copied, 0.00311684 s, 2.0 GB/s
    超出配置时,只能截取配额大小的容量

    [student@localhost ~]$ dd if=/dev/zero of=/mnt/studentfile bs=1M count=11


     dd: error writing ‘/mnt/studentfile’: Disk quota exceeded
     11+0 records in
     10+0 records out
     10485760 bytes (10 MB) copied, 0.00603514 s, 1.7 GB/s

    注意:该配额设置是临时的,若需要永久修改,/etc/fstab


    UUID=9bf6b9f7-92ad-441b-848e-0257cbb883d1 /                       xfs     defaults        1 1
    /dev/vdb1 xfs /mnt defaults,usrquota 0 0

八、还原设备
    1.卸载所有挂载点

      umount /mnt


      swapoff /dev/vdb1


    2.查看是否全部移除
      df

      swapon -s


    3.修改配置文件,还原设置 /etc/fstab


    4.删除分区

      fdisk /dev/vdb

 

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

九、磁盘加密
   1.建立分区

    fdisk /dev/vdb


   2.设置磁盘密码
    [root@localhost ~]# cryptsetup luksFormat /dev/vdb1



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

    Are you sure? (Type uppercase yes): YES
   3.打开磁盘文件
    [root@localhost ~]# cryptsetup open /dev/vdb1 test

     Enter passphrase for /dev/vdb1:             ##名字任意,需要输入密码


   4.格式化磁盘
    [root@localhost ~]# mkfs.xfs /dev/mapper/test
     meta-data=/dev/mapper/test       isize=256    agcount=4, agsize=6272 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=0
     data     =                       bsize=4096   blocks=25088, 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


   5.挂载后实验
     mount /dev/mapper/test /mnt
     touch /mnt/file{1..5}
    [root@localhost ~]# ls /mnt

     file1  file2  file3  file4  file5


    [root@localhost ~]# umount /mnt
    [root@localhost ~]# ls /mnt
   6.关闭磁盘文件
    [root@localhost ~]# cryptsetup close test
    [root@localhost ~]# mount /dev/mapper/test /mnt

     mount: special device /dev/mapper/test does not exist


    注意:关闭之后,若再次挂载,需重新打开、建立磁盘文件
   7.设置开机自启动
     建立密码文件

     vim /root/diskpass     直接写密码


     修改文件权限,设置root只读
     chmod 600 /root/diskpass
     修改文件,使磁盘识别密码(test为磁盘文件名)

     vim /etc/crypttab

     




     test /dev/vdb1 /root/diskpass
     磁盘加密时读取密码文件

     cryptsetup luksAddKey /dev/vdb1 /root/diskpass


     修改开机自启动文件

     vim /etc/fstab


   

     /dev/mapper/test /mnt xfs defaults 0 0

     开机后,磁盘自动挂载


     [root@localhost ~]# df
      Filesystem       1K-blocks    Used Available Use% Mounted on
     /dev/vda1         10473900 3808664   6665236  37% /
     devtmpfs            469344       0    469344   0% /dev
     tmpfs               484932      80    484852   1% /dev/shm
     tmpfs               484932   12772    472160   3% /run
     tmpfs               484932       0    484932   0% /sys/fs/cgroup
    /dev/mapper/test     96940    5176     91764   6% /mnt
     注意:若磁盘不能识别密码,则不能正常开机
  8.取消磁盘加密

    卸载  umount /mnt


    关闭磁盘文件  cryptsetup close test


    格式化磁盘  ##磁盘已加密,须强制删除

     [root@localhost ~]# mkfs.xfs /dev/vdb1


      mkfs.xfs: /dev/vdb1 appears to contain an existing filesystem (crypto_LUKS).
      mkfs.xfs: Use the -f option to force overwrite.

     [root@localhost ~]# mkfs.xfs /dev/vdb1 -f


    修改配置文件,还原设置
     vim /etc/crypttab
     vim /etc/fstab
    密码文件删除(可做可不做)
     rm -fr /root/diskpass

 

注释掉上面修改过的东西

十、磁盘阵列管理
     0:1/2 + 1/2  ##写入   1:1+1 ##读取   5:0 + 1  ##至少3块磁盘,如2个0,1个1
   1.建立3个分区,类型改为raid
    Command (m for help): t
    Partition number (1-5, default 5): 2

    Hex code (type L to list all codes): fd


    Changed type of partition 'Linux' to 'Linux raid autodetect'


   2、管理raid磁盘
     mdadm -C /dev/md0 -a yes -l 1 -n 2 -x 1 /dev/vdb{2,3,5}
     -C   ##新建          -a   ##表示若目录/dev/md0不存在,建立新的

     -l   ##磁盘等级       -n  ##使用磁盘个数    -x  ##闲置磁盘个数


   3.查看磁盘信息

     mdadm -D /dev/md0



      Number   Major   Minor   RaidDevice State
       0     253       18        0      active sync   /dev/vdb2
       1     253       19        1      active sync   /dev/vdb3

       2     253       21        -      spare   /dev/vdb5

     或者 cat /proc/mdstat


     Personalities : [raid1]
      md0 : active raid1 vdb2[3](S) vdb5[2] vdb3[1]
        1048000 blocks super 1.2 [2/2] [UU]  
   4.破坏一块磁盘,则另一块马上同步数据
     mdadm /dev/md0 -f /dev/vdb2
       Number   Major   Minor   RaidDevice State
       2     253       21        0      active sync   /dev/vdb5
       1     253       19        1      active sync   /dev/vdb3

       0     253       18        -      faulty   /dev/vdb2
   5.移除坏掉的磁盘

     [root@localhost ~]# mdadm /dev/md0 -r /dev/vdb2


      mdadm: hot removed /dev/vdb2 from /dev/md0
   6.添加新的raid磁盘

     [root@localhost ~]# mdadm /dev/md0 -a /dev/vdb2


      mdadm: added /dev/vdb2
   7.格式化磁盘阵列,挂载
     mkfs.xfs /dev/md0

     mount /dev/md0 /mnt




   8.关闭raid磁盘,停止使用


      mdadm -S /dev/md0


     删除分区
     同步分区表  partprobe
     建议:做完实验后重启,清除所有缓存




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值