Linux下设备的基本管理

一、系统中磁盘的管理

1.本地存储设备的识别

   fdisk -l            ## 真实存在的设备(带*为启动分区)

   cat /proc/partition ## 系统识别的设备

   blkid               ## 系统可使用的设备

   df                  ## 系统正在挂载的设备

2.设备的挂载和卸载(设备的管理要用超级用户)

 【1】设备名称 :

   /dev/xdx    ## /dev/hd0  /dev/hd1  /dev/sda  /dev/sdb1  /dev/sda1(第一块硬盘下的第一个分区)

  注意:hd是并口硬盘 sd为串口硬盘(广泛使用)

   /dev/sr0    ## 光驱

   /dev/mapper/* ##虚拟设别

 【2】设备的挂载(默认是读写挂载)

    mount 设备 挂载点          ## 挂载到固定的地方

    mount /dev/sdb1   /mnt    ## 挂载sdb1到mnt

    umount /mnt | /dev/sdb1   ## 卸载

    mount -o ro /dev/sdb1 /mnt/ ## 只读挂载

    mount 查看挂载的信息

    mount -o remount, rw /dev/sdb1 | /mnt/   ## 重新挂载以读写的方式

    eject 弹出光驱

 【3】解决设备正忙情况(一个shell在mnt目录下,另一个shell进行卸载时出现这个问题)

  [root@foundation77 mnt]# umount /dev/sdb1

  umount: /mnt: target is busy.   ## 由程序在使用此设备

  (In some cases useful info about processes that use the device is found by lsof(8) or fuser(1))

  解决方法一:fuser -kvm /mnt umount /mnt

  解决方法二:lsof /mnt

  [root@localhost mnt]# lsof /mnt/

  COMMAND  PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
  bash    1188 root  cwd    DIR 253,17        6  128 /mnt
  lsof    3364 root  cwd    DIR 253,17        6  128 /mnt
  lsof    3365 root  cwd    DIR 253,17        6  128 /mnt 

 

   kill  -9   PID    ## 结束进程的占用

   umount /mnt

3.磁盘分区

 【1】硬盘0磁道1扇区的512个字节中记录的信息如下:

      512 = 446 + 64 + 2

      446字节为 mbr(主引导记录)   64字节为mpt(主分区表)   2字节为55aa(硬盘的有效标示)

      硬盘分区表:64字节 一个分区占16个字节 一块硬盘上最多可以划分4个主分区

 

 【2】分区步骤:

  fdisk -l       ## 查看设备

  fdisk /dev/vdb ## 对/dev/vdb进行操作

 

  Command (m for help): m      ## 查看命令操作信息

  Command action a toggle

  a bootable 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)

 

  Command (m for help): n    ## 建立一个主分区

  Partition type: p primary (0 primary, 0 extended, 4 free) e extended Select (default p): p   ## 主分区

  Partition number (1-4, default 1):             ## id默认

  First sector (2048-20971519, default 2048):    ## 分区起始位置

  Using default value 2048 Last sector, +sectors or +size{K,M,G} (2048-20971519, default 20971519): +500M    ##分区大小

  Partition 1 of type Linux and of size 500 MiB is set

 

  Command (m for help): p           ## 查看自己分好的空间

  Disk /dev/vdb: 10.7 GB, 10737418240 bytes, 20971520 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk label type: dos Disk identifier: 0x0362f010 Device Boot Start End Blocks Id System /dev/vdb1 2048 1026047 512000 83 Linux Command (m for help): wq

  注意:当系统有三个主分区的时候,把剩下的所有空间划分为扩展分区 ( 进行逻辑分区新建的时候,不提醒划分的类型,只能是逻辑分区)。

  partprobe 同步分区表

  cat /proc/partitions

 

 问题1:对刚分区的设备vdb1进行挂载的时候,会提示以下信息

  [root@server ~]# mount /dev/vdb1 /mnt/

  mount: /dev/vdb1 is write-protected, mounting read-only

  mount: unknown filesystem type '(null)'

 注意:软件和硬件是不可以进行挂载的,只能在硬件上面安装软件filesystem (也叫格式化)

 解决方法:给设备安装文件系统

  1)系统文件有以下几种

     ext3   rhel5及之前的版本 最多支持32TB的文件系统和2t文件,实际2tb文件系统,单个文件系统不超过16GB

     ext4   rhel6 1EB 16TB

     xfs    rhel7 18EB 9eb 7G/s(吞吐极限) 4G/s(写入速度) (系统中默认是xfs)

 2)格式化成 xfs

     mkdf.xfs /dev/vdb1   ## 格式化设备

 

     /dev/vdb1 mount /dev/vdb1 /mnt    ## 把设备挂载在/mnt上(临时的)

     

     实现永久挂载:/etc/fstab(在硬盘检测之后,内核启动之后会进行加载)

     vim   /etc/fstab 

     /dev/vdb1   /mnt xfs defaults 0 0   ## 参数分别为:设备  挂载点  文件系统  挂载参数  是否备份  是否检测

  3)测试

     mount -a        ## 读取文件里的挂载策略,是没生效的挂载策略立即生效 df 进行查看

     blkid           ## 用blkid命令进行查看格式化后设备的链接情况

 

 

 二、swap分区的管理为

 1)建立:首先创建一个分区/dev/vdb2,修改类型为82!

    partprobe           ##同步分区表

    mkswap  /dev/vdb2   ##将/dev/vdb2格式化为swap格式

    swapon  -a   /dev/vdb2   

    swapon -s           ##显示swap分区的信息

    vim  /etc/fstab ---> /dev/vdb2  swap  swap  defaults 0 0        ##设置swap分区,使其开机自动分区   

    swapon -a          

 2)swap分区的删除

   vim /etc/fstab   --->删除里面SWP分区设置的那行

   swapoff /dev/vdb6  

   swapon -s

 

三、fatab文件写错后的解决方法 

步骤:

  1)先输入超级用户密码

  2)vim /etc/fstab

  3)注释错误的那行

  4)再输入密码

  5)reboot

四、用户额度的设定 

  •   配额是针对与分区。用户可以使用的最大空间。(对于目录的权限,先挂设备再改权限)
  •   临时设定步骤 :

  1)mount -o usrquota /dev/vdb2 /public   ## 把/dec/vdb2设备进行设定并挂载在/public上

  2) chmod 777 /public

  3) edquote -u student  ## 对student 用户进行大小限定(其中blocks和inodes不能更改,并设定文件大小为20M)

 

  

 

  •   永久设定步骤: vim /etc/fstab

    /dev/vdb2 /public xfs defaults,usrquota 0 0

  •   用设定配额的用户进行测试:在student用户下
   

    超过存储大小之后结果:

   

五、设备加密

   意思说,首先对设备进行加密,然后对加密设备进行操作。

 1)对设备进行LUKS加密

  [root@localhost mnt]# blkid

  /dev/vda1: UUID="9bf6b9f7-92ad-441b-848e-0257cbb883d1" TYPE="xfs"

  /dev/vdb1: UUID="3134455c-5d33-4fbd-826d-a4123f78ba9d" TYPE="xfs"

  /dev/vdb2: UUID="08d6ec47-da72-4e16-a901-86029b6e4772" TYPE="xfs"

  /dev/vdb3: UUID="3cb27ea9-985c-45fa-9d37-a8ec2d5a58ae" TYPE="xfs"

  /dev/vdb5: UUID="3053bd27-8051-4f9f-b8e5-b2740185bc13" TYPE="xfs"

  [root@localhost mnt]# cryptsetup luksFormat /dev/vdb5   ## 对/dev/vdb5进行加密

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

  Are you sure? (Type uppercase yes): YES

  Enter passphrase:

  Error reading passphrase from terminal. Enter passphrase: Verify passphrase:

  2)要存文件时,对其解密

  [root@localhost mnt]# cryptsetup open /dev/vdb5 westos  ## 解密,解密设备为westos

  Enter passphrase for /dev/vdb5:

  [root@localhost mnt]# ll /dev/mapper/westos    ## mapper虚拟设备,westos为/etc/vdb5解密后的形态

  lrwxrwxrwx. 1 root root 7 Aug 3 10:49 /dev/mapper/westos -> ../dm-0

  3)关闭westos设备,就不可以该设备进行操作

  [root@localhost mnt]# cryptsetup close westos

  [root@localhost mnt]# ll /dev/mapper/westos

  ls: cannot access /dev/mapper/westos: No such file or directory

  4)若想要进行操作,使用open 进行解密

  [root@localhost mnt]# cryptsetup open /dev/vdb5 westos

  注意:加密、解密要在无挂载的条件的下。

  示例: cryptsetup luksFormat /dev/vdb5

        cryptsetup open /dev/vdb5 westos

        mkfs.xfs /dev/mapper/westos

        mount /dev/mapper/westos /mnt/

        touch /mnt/file{1..2}

        umount /mnt/

        cryptsetup close westos

        cryptsetup open /dev/vdb5 west1

        mount /dev/mapper/west1 /mnt/

 

posted @ 2018-08-04 00:22  UTHN_B  阅读(1503)  评论(0编辑  收藏  举报