linux系统管理系统存储

磁盘:计算机的外部存储器中也采取了类似磁带的装置,比较常用的一种叫磁盘,将圆形的磁性盘片装在一个方的密封盒子里,这样的做法是为了防止磁盘表面划伤,导致数据丢失。有了磁盘之后,人们使用计算机就方便多了,不但可以把数据处理结果存放在磁盘中,还可以把很多输入到计算机中的数据存储在磁盘中,这样这些数据可以反复使用,避免了反复劳动。

1.分区

mbr为硬盘的一个扇区,是引导程序,引导磁盘读取磁盘,含有644个字节记录分区信息

只通电,不开启系统时,磁盘只读取0磁道
512-446=66=64+2

64字节:mpt               

一个分区占16个字节,分区表能记录4个分区,这些分区被称为主分区

500G分区占了200,还剩300,但是字节已经用完

扩展分区,里面状的东西叫逻辑分区



请使用虚拟机操作,以免操作不当破坏真机系统

fdisk  设备名称                                 #对该设备进行分区分区

(1)建立分区
实验操作步骤:

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

linux系统管理系统存储

/dev/vda设备不能进行分区操作,/dev/vdb可以进行分区操作

fdisk /dev/vdb                                   #分区    执行命令后系统提示可以使用"m"查看帮助

linux系统管理系统存储

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)

linux系统管理系统存储

Command (m for help): n                                                                                                               #新建分区
Partition type:
   p   primary (0 primary, 0 extended, 4 free)                                                                               #分区类型为主分区
   e   extended                                                                                                                                 #分区类型为扩展分区
Select (default p):                                                                                                                           #默认为主分区
Using default response p
Partition number (1-4, default 1):                                                                                                  #主分区id,如果不选择默认为1
First sector (2048-20971519, default 2048):                                                                             #此分区起始位置
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-20971519, default 20971519): +100M          #分区大小(注意M大写)

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

建立分区2、分区3与建立分区1方法相同

linux系统管理系统存储

因为硬盘只允许有4个主分区,在建立分区4时,系统会默认建立扩展分区。在划分区域大小时直接回车,表示扩展分区区域大小等于剩余内存。

linux系统管理系统存储

建立逻辑分区5,方法与分区1相同

linux系统管理系统存储

p表示显示分区信息

linux系统管理系统存储

Command (m for help): wq                                                                   #保存退出

 partprobe                                                                         #同步分区表

cat /proc/partitions                                                           #查看系统识别的分区信息


linux系统管理系统存储


(2)格式化分区

mkfs.xfs  /dev/vdb1                                                              #格式化

mount /dev/vdb1     /mnt                                                      #临时挂载


操作步骤:

mount /dev/vdb5     /mnt                                                       #挂载

linux系统管理系统存储

失败,/dev/vdb5为只读文件

mkfs.xfs  /dev/vdb5                                                              #格式化挂载文件

linux系统管理系统存储

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

linux系统管理系统存储

显示有/dev/vdb5表示格式化成功

mkfs.xfs  /dev/vdb3

blkid
mkfs.xfs  /dev/vdb2
blkid
mkfs.xfs  /dev/vdb1

blkid

linux系统管理系统存储

mount /dev/vdb5     /mnt                                                          #挂载

df                                                                                               #显示已挂载设备

linux系统管理系统存储

挂载成功!

2.设定分区方式

在改分区方式前删除之前的分区

删除分区

fdisk /dev/vdb                                                                  #分区

Command (m for help): d                                               #删除分区
Partition number (1-5, default 5):                                   #选择要删除的分区,默认从后向前删除

Partition 5 is deleted

linux系统管理系统存储

wq保存退出

 partprobe                                                                         #同步分区表

cat /proc/partitions                                                           #查看系统识别的分区信息

linux系统管理系统存储

(1)设定分区方式为gpt

parted /dev/vdb                                                                              #管理磁盘

parted 有两种运行模式:命令行模式和交互模式。与 fdisk 的交互模式交互模式不同,在 parted 的交互模式下执行命令,一旦按回车键确认,命令就马上执行,对磁盘的更改就立刻生效。它除了能够进行分区的添加、删除等常见操作外,还可以进行移动分区、创建文件系统、调整文件系统大小、复制文件系统等操作。

操作步骤:

parted /dev/vdb                                                                              #管理磁盘

[[email protected] ~]# parted /dev/vdb
GNU Parted 3.1
Using /dev/vdb
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) mklabel                                                                             ##输入mklable,修改分区模式                                                       
New disk label type? gpt                                                               ##输入gpt,修改分区模式为gpt
Warning: Partition(s) on /dev/vdb are being used.                                                          
Ignore/Cancel? I                                                                             ##输入大写I
Warning: The existing disk label on /dev/vdb will be destroyed and all data
on this disk will be lost. Do you want to continue?
Yes/No?                                                                                       ##输入y
Error: Partition(s) 5 on /dev/vdb have been written, but we have been unable
to inform the kernel of the change, probably because it/they are in use.  As
a result, the old partition(s) will remain in use.  You should reboot now
before making further changes.
Ignore/Cancel? I                                                                              ##输入大写I
(parted) quit                                                                                    ##输入quit,退出交换模式                                                            

Information: You may need to update /etc/fstab.

linux系统管理系统存储

print                                                                                        #查看分区信息

linux系统管理系统存储

测试:

可以建立128个分区

linux系统管理系统存储

linux系统管理系统存储

linux系统管理系统存储

linux系统管理系统存储

[[email protected] ~]# partprobe                                                       #同步分区表
[[email protected] ~]# cat /proc/partitions                                        #查看系统识别的分区信息

显示re-read ,只读模式,进行格式化

linux系统管理系统存储

因为已经操作过一次格式化,当再次进行格式化命令时,系统会提示加上" -f "

[[email protected] ~]# mount /dev/vdb1 /mnt
[[email protected] ~]# df

linux系统管理系统存储

操作成功!

(2)设定分区方式为dos

操作步骤:

[[email protected] ~]# parted /dev/vdb                                                                   #管理磁盘

GNU Parted 3.1
Using /dev/vdb
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) mklabel                                                                                                   #修改分区模式                   
New disk label type? msdos                                                                              #修改分区模式为dos
Warning: Partition(s) on /dev/vdb are being used.
Ignore/Cancel?                                                         
Warning: The existing disk label on /dev/vdb will be destroyed and all data
on this disk will be lost. Do you want to continue?
Yes/No? yes
Error: Partition(s) 1 on /dev/vdb have been written, but we have been unable
to inform the kernel of the change, probably because it/they are in use.  As
a result, the old partition(s) will remain in use.  You should reboot now
before making further changes.
Ignore/Cancel? I                                                          
(parted) q                                                                
Information: You may need to update /etc/fstab.


linux系统管理系统存储


3.永久挂载

操作步骤:

在操作前先查看挂载设备,确保实验操作设备未挂载,以免影响实验结果

本实验操作对象为/dev/vdb1

linux系统管理系统存储

[[email protected] ~]# vim /etc/fstab

linux系统管理系统存储


/dev/vdb1          /mnt    xfs     defaults            0            0

                                                                     不备份  不检测


[[email protected] ~]# df                                                           #查看是否挂载(因为挂载策略还没有生效,所以显示未挂载)
[[email protected] ~]# mount -a                                               #使/etc/fstsb中记录的挂载策略生效

[[email protected] ~]# df                                                           #查看是否挂载

linux系统管理系统存储

/dev/vdb1永久挂载成功!


4.swap分区

swapon -s                                                      #显示swap分区

操作步骤:

fdisk /dev/vdb                                                #分区

分区大小设置为1000M,该分区名字为linux,修改为swap

linux系统管理系统存储

t               change a partition's system id                                #修改分区功能id

l                list known partition types                                          #列出系统可用的分区类型

可以看到修改iswap分区id为82

linux系统管理系统存储


partprobe                                                                 #刷新分区信息
cat /proc/partitions                                                  #查看分区信息

mkswap /dev/vdb2                                                  #格式化

linux系统管理系统存储

(1)swap分区临时挂载

swapon -a /dev/vdb2                                              #启动/dev/vdb2分区swap装置

swapon -s                                                                #显示swap分区

linux系统管理系统存储


(2)swap分区永久挂载

vim /etc/fstab                                  #永久挂载

linux系统管理系统存储

/dev/vdb2          swap               swap    defaults            0            0

                 挂载文件            分区

swapon -a                                                #使/etc/fstab中记载的挂载策略生效

(3)删除swap分区

vim /etc/fstab                                                    #删除swap分区内容

linux系统管理系统存储

swapoff /dev/vdb2
fdisk /dev/vdb                                                             #删除分区2
partprobe                                                                   #刷新分区信息

linux系统管理系统存储


5.磁盘加密

(1)磁盘加密

实验步骤:

本实验对象为/dev/vdb1,请检查环境,如果正在挂载,请卸载或者换一个实验对象

fdisk  /dev/vdb

linux系统管理系统存储

partprobe                                                                                #同步分区表

cryptsetup luksFormat /dev/vdb1                                          #加密

linux系统管理系统存储

注意:YES必须大写,并且密码必须超过8位,不能太简单

ls /dev/mapper                                                                     #显示/dev/mapper里面的内容(加密之前只有control)

cryptsetup open /dev/vdb1 westos                                  #以westos的形式打开盖子,会提示输入密码

ls /dev/mapper                                                                     #显示/dev/mapper里面的内容(加密之后会显示westos)

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

mount /dev/mapper/westos  /mnt/                                      #挂载westos
touch /mnt/file{1..10}                                                            #建立文件
ls /mnt                                                                                   #查看/mnt目录里的内容

linux系统管理系统存储

umount /mnt                                                                              #卸载

ls /mnt                                                                                       #查看/mnt里的内容

ls /dev/mapper                                                                         #查看设备里的内容

linux系统管理系统存储

cryptsetup close westos                                                           #盖上盖子

ls /dev/mapper                                                                           #查看设备里的内容

mount /dev/mapper/westos  /mnt/                                            #挂载(挂载不成功)

linux系统管理系统存储

cryptsetup open /dev/vdb1 westos                                          #打开盖子

mount /dev/mapper/westos  /mnt/                                            #挂载

umount /mnt/                                                                               #卸载

ls /mnt                                                                                          #查看/mnt里的内容
linux系统管理系统存储

(2)加密磁盘的永久挂载

1.vim /root/diskpass                                                           #编写含密码的文件

2.chmod 600 /root/diskpass                                              #修改权限,仅用户可读

3.cryptsetup luksAddKey /dev/vdb1  /root/diskpass        #编写开机自动识别含密码文件加密的文件

4.vim /etc/crypttab                                                                #编写以westos文件解密的文件

                westos                       /dev/vdb1      /root/lukspsfile

              解密后设备管理文件    设备          加密字符存放文件

5.vim /etc/fstab                                                                      #编写开机自动挂载文件
                /dev/mapper/westos    /mnt    xfs    defaults    0 0

6.reboot                                                                                  #重启

7.df                                                                                          #查看挂载

测试:

linux系统管理系统存储

linux系统管理系统存储

wq保存退出

reboot重启

查看是否挂载

linux系统管理系统存储

已挂载,操作成功!

(3)加密清除

vim /etc/fstab                                          #清楚自动挂载策略
vim /etc/crypttab                                     #删除以westos形态进行解密的策略
rm -fr /root/diskpass                              #删除有密码的文件
umount /mnt/                                           #卸载挂载
cryptsetup close westos                       #关闭加密磁盘

mkfs.xfs  /dev/vdb1 -f                            #格式化

测试:

linux系统管理系统存储


6.磁盘列阵

磁盘阵列(Redundant Arrays of Independent Disks,RAID),有“独立磁盘构成的具有冗余能力的阵列”之意。
磁盘阵列是由很多价格较便宜的磁盘,组合成一个容量巨大的磁盘组,利用个别磁盘提供数据所产生加成效果提升整个磁盘系统效能。利用这项技术,将数据切割成许多区段,分别存放在各个硬盘上。[1] 
磁盘阵列还能利用同位检查(Parity Check)的观念,在数组中任意一个硬盘故障时,仍可读出数据,在数据重构时,将数据经计算后重新置入新硬盘中。
建立磁盘列阵

操作方法:

终端1:监控:watch -n 1 cat /proc/mdstat
终端2:

1.fdisk  /dev/vdb                                                                #分区 1,2,3  大小为1G

(1)command (m for help):t                                  #修改id(3个分区均进行修改

(2)Partition number (1-3, default 3): 1                        #修改第一个分区id
(3)Hex code (type L to list all codes): fd                    #将分区id修改为" linux raid autodetect "


2.终端2:监控:watch -n 1 cat /proc/mdstat

3.mdadm  -C /dev/md0 -a yes -l 1 -n 2 -x 1 /dev/vdb{1..3}
          mdadm     管理磁盘阵列
          -C   创建
          -a   如果没有/dev/md0,自动建立
          -l    级别
          -n   运行设备
          -x   闲置设备
          /dev/vdb{1..3}         使用的设备
4.mkfs.xfs  /dev/md0                                                           #格式化

5.mount /dev/md0  /mnt/                                                      #挂载

测试:

linux系统管理系统存储

建立3个大小均为1G的主分区

修改3个分区id

linux系统管理系统存储

修改完成后查看分区信息

linux系统管理系统存储

wq保存退出

打开另一个终端进行监控

watch -n 1 cat /proc/mdstat

linux系统管理系统存储

在第一个终端:

linux系统管理系统存储

可以看到监控端

linux系统管理系统存储

linux系统管理系统存储

格式化

linux系统管理系统存储

挂载

linux系统管理系统存储

操作完成!

管理磁盘列阵

mdadm -D /dev/md0                                                                #查看磁盘列阵状态

linux系统管理系统存储

mdadm -f /dev/md0  /dev/vdb2                                               #损坏设备

linux系统管理系统存储

监控端:

执行该命令后,/dev/vdb2被损坏,闲置设备/dev/vdb3立即替代/dev/vdb2

linux系统管理系统存储

linux系统管理系统存储

mdadm -r /dev/md0  /dev/vdb2                                               #删除设备

linux系统管理系统存储

监控端:

linux系统管理系统存储

mdadm -a /dev/md0 /dev/vdb2                                               #添加设备

linux系统管理系统存储

监控端:

linux系统管理系统存储

新添加之后,/dev/vdb2处于备用状态


删除磁盘列阵:

umount /mnt/                                                                     #卸载

mdadm  -S /dev/md0                                                       #停止磁盘列阵工作

fdisk /dev/vdb                                                                    #删除设备

partprobe                                                                           #同步分区表

测试:

linux系统管理系统存储

监控端:

linux系统管理系统存储

linux系统管理系统存储