Linux中系统设备的管理

时间:2021-01-20 19:05:16

我们的存储设备有哪些呢?u盘,光盘,硬盘,磁盘,软盘这些都是本地存储设备,还有网络存储设备,这些设备使用之前都要格式化。对于硬盘,如果只有一个分区,数据丢了,有可能会因为影响整个设备,所以需要对硬盘进行分区,让系统识别投入使用。

##一、设备的查看##

1.发现系统中的设备

fdisk -l    ##查看硬盘信息,硬盘是从哪个磁道到哪个磁道被分成了一个区

[root@localhost ~]# fdisk -l

硬盘分为/dev/vda ,/dev/vdb

Linux中系统设备的管理

cat /proc/partitions 查看分区信息,分区大小,挂载点,剩余空间,设备信息

[root@localhost ~]# cat /proc/partitions

Linux中系统设备的管理

2.系统发现的,但没有投入使用,随时可以使用设备

blkid  ##查看设备id信息

[root@localhost ~]# blkid

Linux中系统设备的管理

3.发现并且在使用的设备

df -h 1G=2的N次方(更精确,内存记录大小为k)

[root@localhost ~]# df -h

Linux中系统设备的管理

size统计大小是2的n次方

df -H   =10的n次方(G)

[root@localhost ~]# df -H

Filesystem      Size  Used Avail Use% Mounted on

/dev/vda1        11G  3.2G  7.6G  30% /

devtmpfs        493M     0  493M   0% /dev

tmpfs           509M   87k  509M   1% /dev/shm

tmpfs           509M   14M  496M   3% /run

tmpfs           509M     0  509M   0% /sys/fs/cgroup

Linux中系统设备的管理

size大小统计是10的n次方

##二、设备名称的读取##

/dev/xd*  设备的名字

x=s  /dev/sd*   ##sata硬盘,或iscsi网络

x=v  /dev/vd*   ##虚拟硬盘,一般出现在虚拟机里

x=h  /dev/hd    ##ide硬盘,一般出现在老式电脑中

 *=a~...       ##/dev/vda,系统中第一块虚拟硬盘

/dev/cdrom,/dev/sr[0-...]##系统中的光驱

/dev/mapper/*  ##系统中的虚拟设备

/dev/sda1      #系统中第一块sata硬盘的第一个分区

如下系统中的第一块sata硬盘的第一到十分区

Linux中系统设备的管理

##三、设备的使用##

设备必须要用目录来对设备中的内容进行读取

所以设备在使用时需要做挂载动作

blkid  识别可用设备

[root@foundation60 ~]# blkid

mount  设备   挂载点 ##设备的挂载

把系统中的第二块sata硬盘的第一个分区挂载到/mnt下

mount /dev/sdb1 /mnt/

Linux中系统设备的管理

Linux中系统设备的管理

挂载后/mnt是一个只读系统

Linux中系统设备的管理

##只读挂载第二块硬盘的第一个分区,挂载到mnt下

mount -o ro /dev/sdb1 /mnt/

[root@foundation60 ~]# mount -o ro /dev/sdb1 /mnt/

[root@foundation60 ~]# ls /mnt

##在设备被使用时,更改设备的挂载参数为rw

mount -o remount,rw /mnt|/dev/sdb1

[root@foundation60 ~]# mount -o remount,rw /mnt/

[root@foundation60 ~]# touch /mnt/qq

[root@foundation60 ~]# ls -l /mnt/

total 208

Linux中系统设备的管理

Linux中系统设备的管理

umount 设备|挂载点 ##设备的挂载点

umount /dev/sdb1 | /mnt

[root@foundation60 ~]# umount /dev/sdb1

Linux中系统设备的管理

当/mnt/有进程时

Linux中系统设备的管理

Linux中系统设备的管理

把/dev/sdb1挂载到/mnt/下

Linux中系统设备的管理

注意:当卸载时出现以下情况

[root@foundation60 ~]# 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))

Linux中系统设备的管理

表示设备正在被某个程序使用,解决方法如下:

#####进程发现的方式#######

fuser -vm /dev/sdb1

lsof /dev/sdb1

#####进程终止的方式#######

kill -9 pid

fuser -kvm /dev/sdb1

 

fuser -vm /dev/sdb1

[root@foundation60 ~]# fuser -vm /dev/sdb1

Linux中系统设备的管理

显示设备被vim占用

lsof /dev/sdb1

[root@foundation60 ~]# lsof /dev/sdb1

Linux中系统设备的管理

fuser -kvm /dev/sdb1

[root@foundation60 ~]# fuser -kvm /dev/sdb1

Linux中系统设备的管理

Linux中系统设备的管理

列出目录所有内容,包括. .. 的隐藏文件

Linux中系统设备的管理

由于异常退出生成了.sw*文件

[root@foundation60 mnt]# rm -fr ./file.sw*

Linux中系统设备的管理

Linux中系统设备的管理

终止掉进程就能卸载了

Linux中系统设备的管理

##四、分区管理##

#设备分区信息#

1.mbr主引导记录446个字节

2.mpt主分区表64个字节

3.硬盘的有效标实“55aa”2个字节

4.一个主分区占用16个字节记录分区信息

5.一块硬盘上如果用mbr的分区方式最多可以存在4个主分区

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

7.扩展分区:分出主分区后,其余的部分可以分成扩展分区,一般剩下的部分全部分成扩展分区,也可以不全分,那剩的部分就浪费了,但扩展分区是不能直接用的,他是以逻辑分区方式来使用的,所以说扩展分区可分成若干逻辑分区。他们的关系是包含的关系,所有的逻辑分区都是扩展分区的一部分。

是硬盘磁盘分区的一种。严格的讲,他不是一个实际意义的分区,他仅仅是一个指向下一个分区的指针,这种指针结构将构成一个单向链表,存储分区数据。

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

##创建分区###

flisk /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   ##删除分区

   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   ##新建分区

   o   create a new empty DOS partition table

   p   ##显示分区标准信

   q   ##退出

   s   create a new empty Sun disklabel

   t   ##修改分区

   u   change display/entry units

   v   verify the partition table

   w   ##将当前操作写入硬盘分区表

   x   extra functionality (experts only)

 

Command (m for help):

Command (m for help): n  ##创建分区

Partition type:##创建分区类型 p主分区  e 扩展分区

   p   primary (0 primary, 0 extended, 4 free)

   e   extended

Select (default p): p 主引导分区

Partition number (1-4, default 1):1##确定主分区id

First sector (2048-20971519, default 2048): 分区起始块位置用默认

Using default value 2048

Last sector, +sectors or +size{K,M,G} (2048-20971519, default 20971519): +100M##分区结束块的位置,用+大小的方式指定

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

 

Command (m for help): wq ##保存分区策略并退出fdisk界面

The partition table has been altered!

 

Calling ioctl() to re-read partition table.

Syncing disks.

 

 

cat /proc/partitions   ##查看设备是否被系统识别

 [root@localhost ~]# cat /proc/partitions


Linux中系统设备的管理

Linux中系统设备的管理

Linux中系统设备的管理

Linux中系统设备的管理

查看分区信息:cat /proc/partitions

Linux中系统设备的管理

mkfs.xfs  /dev/vdb1  ##格式化设备,在设备上安装文件系统xfs

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

Linux中系统设备的管理

blkid   ##查看可用设备,可以看到被格式化好的设备/dev/vdb1

[root@localhost ~]# blkid

Linux中系统设备的管理

Linux中系统设备的管理

mount /dev/vdb1 /qq  ##挂载设备使设备投入使用

##设备的永久挂载

vim /eetc/fstab    ##设备挂载策略文件

设备            挂载点    文件类型      挂载参数     是否备份设备  是否检测设备

/dev/vdb1       /qq        xfs        defaults       0                   0

reboot

#####注意:以上参数写错会使系统无法启动(用前面忘记密码后,重启系统的方式更改)######

1.重新启动系统

2.在系统启动阶段按上下健停止系统系统引导

3.选择启动引导标题,按“E”进行编辑

4.找到linux16引导条目这一行,从这行最后删除到ro选项,并把ro改为rw,然后添加rd.break选项

5.ctrl+x启动设定过后的系统引导条目

6.进入系统后执行chroot /sysroot切换到真实的系统环境

7.更改fstab,vim /etc/fstab

8.exit两次使系统自动重新启动

Linux中系统设备的管理

Linux中系统设备的管理

更改完配置文件,重启系统yunxing

Linux中系统设备的管理

查看设备的挂载df ,/dev/vdb挂载到qq下

Linux中系统设备的管理

若不想永久挂载,删除配文件中挂载内容即可

Linux中系统设备的管理

Linux中系统设备的管理

##删除分区 

umount /dev/vdb1

fdisk /dev/vdb

d  删除

p  查看分区

Linux中系统设备的管理

Linux中系统设备的管理

查看分区信息 cat /proc/partitions

Linux中系统设备的管理


五、swap 分区的管理

1.##swap 交换分区,系统自己使用,不需要挂载


swap 分区的建立

 

1)划分分区,并修改分区的id为swap

fdisk /dev/vdb   ##建立分区

Device Boot      Start         End      Blocks   Id  System

/dev/vdb1            2048      206847      102400   83  Linux默认情况下,此分区时linux的普通分区

 

Command (m for help): p

Command (m for help): t  ##修改分区id

Selected partition 1

Hex code (type L to list all codes): l ##列出所有id类型的代码

Hex code (type L to list all codes): 82 ##把/dev/vdb1的分区类型修改为swap,swap类型代码为82

Changed type of partition 'Linux' to 'Linux swap / Solaris'

Command (m for help): p

/dev/vdb1            2048      206847      102400   82  Linux swap / Solaris

Command (m for help): wq

Linux中系统设备的管理

Linux中系统设备的管理

Linux中系统设备的管理

查看分区信息

Linux中系统设备的管理

2)[root@localhost ~]# mkswap /dev/vdb1 ##格式化swap文件系统格式

Linux中系统设备的管理

[root@localhost ~]# blkid ##查看可用设备

Linux中系统设备的管理

3)[root@localhost ~]# swapon -a /dev/vdb1 ##激活swap设备,使系统利用此设备

Linux中系统设备的管理

4)swap 分区的查看

  swapon -s

[root@foundation60 ~]# swapon -s

Linux中系统设备的管理

永久设定

[root@ssh-server ~]# vim /etc/fstab   

/swapfile   swap  swap  defaults  0 0

Linux中系统设备的管理

Linux中系统设备的管理

##当磁盘全部被占用,不能创建新分区时,可以用文件来代替分区

[root@localhost ~]# dd if=/dev/zero of=/swapfile bs=1M count=1000

Linux中系统设备的管理

##此文件创建后的步骤和设备的步骤一致

2.##swap分区的删除

[root@localhost ~]# vim /etc/fstab  ##删除配置文件中的内容

[root@localhost ~]# swapoff /dev/vdb1 ##关掉设备

[root@localhost ~]# swapoff /swapfile ##关掉文件

[root@localhost ~]# fdisk /dev/vdb ##删除分区

[root@localhost ~]# rm -rf /swapfile##删除文件

删除文件中的挂载内容

Linux中系统设备的管理

Linux中系统设备的管理

关掉设备swapoff /dev/vdb1

Linux中系统设备的管理

Linux中系统设备的管理

删除分区  fdisk /dev/vdb d:删除,p:查看分区

Linux中系统设备的管理

Linux中系统设备的管理

删除文件rm -fr /swapfile

Linux中系统设备的管理

查看分区信息,swap分区已删除

Linux中系统设备的管理

六、磁盘配额

为磁盘使用用户分配额度:能够做的最多的事情

##分区配额是针对与设备的

(1)新建分区

fdisk /dev/vdb n:新建  p:查看分区

Linux中系统设备的管理

(2)格式化文件系统格式为xfs

mkfs.xfs /dev/vdb

Linux中系统设备的管理

同步系统 proprobe

Linux中系统设备的管理

(3)设备的挂载 mount -o usrquota /dev/vdb1 /qq/

Linux中系统设备的管理

更改权限

Linux中系统设备的管理

(4)为磁盘使用用户student用户分配额度

blocks :用户在设备上已存在的大小

soft:软额度

hard:硬额度

inodes:文件个数

Linux中系统设备的管理

Linux中系统设备的管理

给student用户创建分区,有硬盘限制

Linux中系统设备的管理

永久的设备配额,修改配置文件

Linux中系统设备的管理

Linux中系统设备的管理

七、分区方式的修改

 mbr<----->gpt

parted /dev/vdb

mklabel ##修改设备分区方式标签

gpt把原有的dos标签改成gpt格式

y

quit

Linux中系统设备的管理

Linux中系统设备的管理

查看设备 blkid

Linux中系统设备的管理

gpt<--->mbr

Linux中系统设备的管理

八、分区加密

1.建立分区

[root@localhost ~]# fdisk /dev/vdbLinux中系统设备的管理

2.[root@localhost ~]# cryptsetup --help 建立加密,命令用法

[root@localhost ~]# cryptsetup luksFormat /dev/vdb1

 

WARNING!

========

This will overwrite data on /dev/vdb1 irrevocably.

 

Are you sure? (Type uppercase yes): YES是否加密,必须大写

Enter passphrase: 密码必须大于八位

Verify passphrase: 

Linux中系统设备的管理

3.[root@localhost ~]# cryptsetup open /dev/vdb1 qq打开加密文件,文件名为qq

Linux中系统设备的管理

4.[root@localhost ~]# mkfs.xfs /dev/mapper/qq##文件系统格式化加密文件,名字为qq

Linux中系统设备的管理

5.[root@localhost ~]# mount /dev/mapper/qq /mnt/##文件格式化后可挂载

Linux中系统设备的管理

Linux中系统设备的管理

6.[root@localhost ~]# umount  /mnt/ ##卸载

Linux中系统设备的管理

7.[root@localhost ~]# cryptsetup close qq ##关闭加密文件

Linux中系统设备的管理

[root@localhost ~]# mount /dev/mapper/qq /mnt/关闭之后不能执行挂载

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

Linux中系统设备的管理

[root@localhost ~]# cryptsetup open /dev/vdb1 qq在打开加密文件

Enter passphrase for /dev/vdb1: 

Linux中系统设备的管理

[root@localhost ~]# mount /dev/mapper/qq /mnt/可执行

Linux中系统设备的管理

Linux中系统设备的管理

[root@localhost ~]# umount /mnt/

[root@localhost ~]# cryptsetup close qq

Linux中系统设备的管理

Linux中系统设备的管理

##开机自动挂载

[root@localhost ~]# vim /etc/fstab

[root@localhost ~]# vim /etc/crypttab

[root@localhost ~]# vim /root/passfile

[root@localhost ~]# chmod 600 /root/passfile

[root@localhost ~]# cryptsetup luksAddKey /dev/vdb1 /root/passfile

Enter any passphrase:

[root@localhost ~]# reboot 

将信息写入配置文件

Linux中系统设备的管理

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

Linux中系统设备的管理

加密文件名字  设备   加密文件密码存放位置

Linux中系统设备的管理

Linux中系统设备的管理

密码写入文件 vim /root/passfile (密码个数超过八个)

Linux中系统设备的管理

Linux中系统设备的管理

给文件加上权限,提高保密性

Linux中系统设备的管理

Linux中系统设备的管理

reboot 让系统读取配置文件中的内容,自动挂载

Linux中系统设备的管理

Linux中系统设备的管理

##清除密码信息

[root@localhost ~]# umount /dev/mapper/qq ##卸载设备

[root@localhost ~]# cryptsetup close qq ##关闭

[root@localhost ~]# mkfs.xfs /dev/vdb1 -f##强制格式化文件系统

[root@localhost ~]# vim /etc/fstab##修改配置文件

[root@localhost ~]# vim /etc/crypttab ##删除文件中的内容

[root@localhost ~]# rm -fr /root/passfile ##删除密码

[root@localhost ~]# reboot ##重启

Linux中系统设备的管理

Linux中系统设备的管理

格式化文件系统,-f强制

Linux中系统设备的管理

删除配置文件中的内容

Linux中系统设备的管理

Linux中系统设备的管理

Linux中系统设备的管理

Linux中系统设备的管理

删除密码

Linux中系统设备的管理