linux中的设备管理

一.本地存储设备的识别

fdisk -l             ##真实存在的设备


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


blkid                ##系统可使用的设备


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

 

二.设备的挂载和卸载

1.设备名称
/dev/xdx     ##/dev/hd0 /dev/hd1 /dev/sda /dev/sdb
             hd 并口硬盘      sd串口       vd:虚拟硬盘

/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   ##重新读写挂载


3.解决设备正忙情况
问题:
[[email protected] ~]# 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 /mnt
umount /mnt
[[email protected] ~]# lsof /mnt
lsof: WARNING: can't stat() fuse.gvfsd-fuse file system /run/user/1000/gvfs
      Output information may be incomplete.
COMMAND  PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
bash    9341 root  cwd    DIR    8,1     4096  192 /mnt
[[email protected] ~]# kill -9 9341
[[email protected] ~]# umount /mnt


解决方法二:

fuesr -kvm /mnt
umount /mnt


446个字节的mbr引导磁头到系统启动分区

mpt分区表:记录分区信息

 

三.磁盘分区

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

512 =446       +   64   +    2
                 ^             ^         ^

mbr(主引导记录)  mpt(主分区表)  55aa(硬盘的有效性标识)

MBR      主引导分区               446字节

MPT       主分区表                   64字节

55aa  硬盘的有效性标识         2字节


2.硬盘主分区表

1个分区占用16个字节
1个硬盘上最多可以划分4个主分区
mbr分区方式:大小不能超过2T


P:主分区,真实存在

主分区

主分区是一个比较单纯的分区,通常位于硬盘的最前面一块区域中,构成逻辑C磁盘。其中的主引导程序是它的一部分,此段程序主要用于检测硬盘分区的正确性,并 确定活动分区,负责把引导权移交给活动分区的DOS或其他操作系统。此段程序损坏将无法从硬盘引导,但从软驱或光驱引导之后可对硬盘进行读写。 

E:扩展分区,里面建立逻辑分区。是一个容器

扩展分区

所 谓扩展分区,严格地讲它不是一个实际意义的分区,它仅仅是一个指向下一个分区的指针,这种指针结构将形成一个单向链表。这样在主引导扇区中除了主分区外, 仅需要存储一个被称为扩展分区的分区数据,通过这个扩展分区的数据可以找到下一个分区(实际上也就是下一个逻辑磁盘)的起始位置,以此起始位置类推可以找 到所有的分区。无论系统中建立多少个逻辑磁盘,在主引导扇区中通过一个扩展分区的参数就可以逐个找到每一个逻辑

L:逻辑分区

逻辑分区

逻辑分区 是硬盘上一块连续的区域,不同之处在于,每个主分区只能分成一个驱动器,每个主分区都有各自独立的引导块,可以用fdisk设定为启动区。一个硬盘上最多 可以有4个主分区,而扩展分区上可以划分出多个逻辑驱动器。这些逻辑驱动器没有独立的引导块,不能用fdisk设定为启动区。主分区和扩展分区都是dos 分区。

 


3.分区步骤

1.fdisk -l

2.fdisk /dev/vdb
m
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)

 

3.建立主分区
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: 0x6df442a8

   Device Boot      Start         End      Blocks   Id  System
/dev/vdb1            2048     1026047      512000   83  Linux


4.当系统有三个主分区时:
Command (m for help): n
Partition type:
   p   primary (3 primary, 0 extended, 1 free) ##3个主分区出现要先划分扩展分区
   e   extended
Select (default e): e
Selected partition 4
First sector (3074048-20971519, default 3074048):
Using default value 3074048
Last sector, +sectors or +size{K,M,G} (3074048-20971519, default 20971519):
Using default value 20971519
Partition 4 of type Extended and of size 8.5 GiB 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: 0x8a543314

   Device Boot      Start         End      Blocks   Id  System
/dev/vdb1            2048     1026047      512000   83  Linux
/dev/vdb2         1026048     2050047      512000   83  Linux
/dev/vdb3         2050048     3074047      512000   83  Linux
/dev/vdb4         3074048    20971519     8948736  5  Extended ##把所有空间都给E

 


四.给设备安装文件系统

ext4 rhel5及之前的版本   最多支持32Tb的文件系统和2t文件,实际2tb文件系统,16G文件
xfs rhel7.2                    18EB 9EB 7G/s 4G/s


mkfs.xfs    格式化/dev/vdb1


mount /dev/vdb1 /mnt 挂载在/mnt下

永久挂载
vim /etc/fstab


设备       挂载点 文件系统  挂载参数  是否备份  是否检测
/dev/vdb1 /mnt    xfs   defaults    0        0
加入
/dev/vdb1 /mnt xfs defaults 0 0

df 查看一下是否挂载

6.如果/etc/fstab/中参数发生错误

reboot一下 看看是否永久的挂载上 重启之后还是挂载上 一般的挂载重启之后还得重新挂载的

如若不小心配置文件真的写错 不要着急 我们可以进行如下的操作

(1)开机时候上下键 e进入

  (2)  将Linux那个最长的一行一直删除 一直删除到r...这时这里改为 rw rd.break

  (3)  执行命令chroot /sysroot

  (4)  vim /etc.fstab 修改你写错的配置文件

 (5)exit exit

 

五.swap分区管理

1.swap分区建立

划分分区并设定标签为82


mkswap /dev/vdb5
swapon -a /dev/vdb5
swapon -s  ##查看swap状态是否被**


永久**
vim /etc/fstab
/dev/vdb5  swap swap defaults 0 0


2.swap分区删除

vim /etc/fstab
删除fstab里的
swapoff /dev/vdb5
swapon -s


先挂设备再改权限


六.配额

配额是针对于分区的
dfisk dev/vdb
建立分区6


partprobe


mkfs.xfs /dev/vdb6


mount -o  usrquota  /dev/vdb6   /mnt
chmod 777 /mnt


edquota -u student ##设置student的配额

 

    blocks      ##文件已占用分区大小                         soft     ##文件超出配额大小,报警

    hard         ##文件不能超出配额大小                 inodes    ##文件个数

    soft          ##文件/目录个数,超额报警               hard     ## 文件/目录个数不能超额


vim /etc/fstab
/dev/vdb7 /public xfs defaults,usrquota 0 0


测试:用用户去测试配额限制
[[email protected] ~]$ dd if=/dev/zero of=/public/studentfile bs=1M count=20

   配额正常时

超出配置时,只能截取配额大小的容量

 


七.磁盘加密

1.LUKS加密

dfisk dev/vdb
建立分区7


partprobe
mkfs.xfs /dev/vdb7


1.加密格式化 cryptsetup luksFormat /dev/vdb7


解密后给他另一个名字
cryptsetup open /dev/vdb7 westos


mkfs.xfs /dev/mapper/westos ##格式化


mount /dev/mapper/westos /mnt 挂载


touch /mnt/file{1..9}
umount /mnt/  卸载


cryptsetup close  westos ##关闭盖子

关闭盖子后查看不了/mnt/下的文件

 

要想再看打开盖子
cryptsetup open /dev/vdb7 westos


mount /dev/mappper/westos /mnt

 

2.磁盘加密开机自动挂载

vim /etc/fstab
/dev/mapper/westos  /mnt  xfs  defaults 0 0


vim /etc/crypttab
westos  /dev/vdb7  /root/westoskey


vim /root/westoskey
westos123   ##密码


 

设备关闭的情况下格式化