linux学习之旅(十五(上))&磁盘

磁盘管理

1.磁盘有关知识简介

mpt :分区表 硬盘有效性标识
mbr:分区方式 ,最多只能有四个主分区
扩展分区 :扩展分区是一个容器 mbr方式 每个分区最大2Tb
逻辑分区 :容器里面的 gpt GUID 磁碟分割表( GUID Partition Table ,缩写: GPT)其含义为“全局唯一标识磁盘分区表” 与 MBR 最大 4 个分区表项的限制相比, GPT 对分区数量没有 限制 Windows 最大仅支持128 个 GPT 分区 GPT 可管理硬盘大小达到了 18EB
swap :交换分区 换空间或交换区是磁盘驱动器上的空间 , 用作当前未使用部分内存的溢出。这样 ,系统就能在主内存中留出空间用于储存当前正在处理的数据 , 并在系统面临主内存空间不足的风险时提供应急溢出

文件系统: 

ntfs  //linux
ext4   //是 Red Hat Enterprise Linux 6 的标准文件系统。它非常强大可靠 , 具有多项可以提高现代工作量处理性能的功能
ext2  //是常用于 Linux 中的较旧的文件系统。它简单可靠 ,非常适合小型存储设备 , 但是效率低于ext4
vfat  //支持包括一系列相关文件系统 ( VFAT/FAT16,FAT32 ), 这些文件系统针对较旧版本的 Microsoft  Windows 开发 , 在大量的系统和设备上受支持,适用linux和windows
fat //微软的版权,不是开源的,每台手机都有,需要给微软交版权费
xfs //在 Red Hat Enterprise Linux 7 的标准文件系统其具备数据完全、性能稳定、扩展性强( 8eb-1byte ) 、传输速率高 ( 7G/s )
  • mpt 分区表,mbrgpt的解释:
    1)mrb用于win平台 ,gpt主要用于mac(苹果)
    2)MBR分区表与GPT分区表的关系: 与支持最大卷为2TB(Terabytes)并且每个磁盘最多有4个主分区(或3个主分区,1个扩展分区和无限制的逻辑驱动器)的MBR磁盘分区的样式比,GPT磁盘分区样式支持最大卷为18 EB(Exabytes)并且每磁盘的分区数没有上限,只受到操作系统限制(由于分区表本身需要占用一定空间,最初规划硬盘分区时,留给分区表的空间决定了最多可以有多少个分区,IA-64版Windows限制最多有128个分区,这也是EFI标准规定的分区表的最小尺寸)。与MBR分区的磁盘不同,至关重要的平台操作数据位于分区,而不是位于非分区或隐藏扇区。另外,GPT分区磁盘有备份分区表来提高分区数据结构的完整性。

2.磁盘查看命令

fdisk -l   ##系统中的所有磁盘设备(看到的不一定是能用的,因为没有文件系统)
*Fdisk是IBM的老牌分区工具,支持绝大多数操作系统,几乎所有的Linux操作系统都默认装有fdisk;包括在Linux Rescue模式下依然能够使用。

*fdisk是基于MBR的分区工具(是当年IBM设计给PC机来使用的),所以如果需要使用GPT,则无法使用fdisk进行分区

*只有超级用户权限(如root,Uid=0的;可以用在命令行中输入id来查询)才可以执行fdisk,因为命令都是在/sbin下面,需要特权级的用户

df  -TH    ##系统正在挂载的磁盘设备
blkid      ##系统可以挂载的磁盘设备id,(磁盘设备不一定都可以被挂载)(能看见的都是有文件系统的)

后面两个查看到的一定是可以使用的

使用fdisk -l 查看到的信息

3.分区划分:fdisk

[root@localhost ~]# fdisk /dev/vdb
Welcome to fdisk (util-linux 2.23.2).

Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.


Command (m for help): m      ##获得帮助
Command action
   a   toggle a bootable flag    ##设置可引导标记
   b   edit bsd disklabel          ##修改bsd的磁盘标签
   c   toggle the dos compatibility flag   ##设置DOS操作系统兼容标记
   d   delete a partition       ##删除分区
   g   create a new empty GPT partition table
   G   create an IRIX (SGI) partition table
   l   list known partition types   ##列出系统可用分区类型,其中82为Linux swap分区,83为Linux分区
   m   print this menu            ##显示帮助信息
   n   add a new partition      ##新建分区
   o   create a new empty DOS partition table    ##创建一个新的空白的DOS分区表
   p   print the partition table    ##显示分区
   q   quit without saving changes  ##退出,并不保存修改
   s   create a new empty Sun disklabel   ##创建一个新的空白的Sun磁盘标签
   t   change a partition's system id   ##改变一个分区的系统号码(比如把Linux Swap分区改为Linux分区)
   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 (1 primary, 0 extended, 3 free)  ##分区类型为主分区
   e   extended                 ##分区类型为扩展分区
Select (default p): p
Partition number (2-4, default 2): 2        ##主分区id
First sector (206848-20971519, default 206848): ##此分区的起始位置
Using default value 206848
Last sector, +sectors or +size{K,M,G} (206848-20971519, default 20971519): +200M ##分区大小
Partition 2 of type Linux and of size 200 MiB is set

Command (m for help): wq   ##保存并退出,只输入q则表示放弃更改退出
The partition table has been altered!

Calling ioctl() to re-read partition table.
Syncing disks.
[root@localhost ~]# 

partprobe       ##同步分区表
cat  /proc/partprobe  ##查看系统识别的分区信息
mkfs.xfs /dev/vdb1  ##格式化
##格式化的作用,对硬件的操作,为了装软件,这里是为了装文件系统
mount /dev/vdb1  /mnt   ##临时挂载
mount -a ##使挂载策略生效(all  所有的)
df   ##查看是否生效


vim /etc/fstab      ##永久挂载
#编写格式:
##挂载的文件    挂载点    文件系统类型   defaults(默认,mountpoint)    0   0 (第一个不检测,第二个不备份)   
device    mountpoint    ftype   defaults(mountpoint)   0   0
/dev/vdb1    /mnt        xfs    defaults       0     0
mount -a        ##使/etc/fastab中记录的挂载生效




vim /etc/fstab 设置永久挂载:

  • 注意:
    在退出时,要看wq之后系统反馈是什么,保存退出后,若显示下图,一定要手动partprobe重读分区表,所以,也可以养成每次退出都手动重读,保证准确率

删除分区时

先使用umount命令解除挂载

  • 注:
  • 当挂载点被使用时,无法解除挂载,那么 fuser -vm /mnt 查看mount进程 ,fuser -kvm /mnt 直接结束进程,然后进行解除挂载

解除挂载之后,使用fdisk /dev/vdb命令 删除分区

cat /proc/partitions发现vdb1已经删除

4.设定分区方式,将mkdocs 改为 gpt格式

##更改之前需要把正在使用的分区关闭,才可以进行更改
partd  /dev/vdb
..)help
..)mklabel
..? gpt
..)quit
partprobe ##从读分区表
cat /proc/partitions
mkfx.xfs   /dev/vdb1
##若提示你需要强制覆盖 加上 -f  参数(强制)
mount  /dev/vdb1  /mnt
df ## 查看
blkid  ##发现gpt下,多出了很多信息,PARTUUID=...


//最后的信息一定要仔细看,可能会让你重新读分区表或怎么样,这里的提示生级可以忽略


5.添加swap分区

fdisk  /dev/vdb     ##添加一个分区



//注意,在t修改之后,要用l开查看你所要使用的分区类型,这里查看到是14

扫描二维码关注公众号,回复: 9717353 查看本文章

6.更改gpt下的swap 为mkdos下的swap

##gpt改变之前一定保证系统没有被利用,不然系统会问题,因为还有进程在用,改变会出错
umount 
swapoff 
parted /dev/vdb
..)mklabel
..)msdos
..)quit
##查看退出时系统提示信息
fdisk /dev/vdb
..)n---->p---->...(+size)
..)t---->l---->82---->wq 
partprobe
mkswap /dev/vdb1
swapon -a /dev/vdb1     ##激活新交换区
swapon -s         ##显示当前交换区的状态
swapoff /dev/vdaN  ##停用该特定交换区
##启动自动激活swap ,还是fstab
#设置/etc/fstab
/dev/vdb   swap swap  0  0  ##(系统自己会用swap,不用挂载点) 




//这里查看到需要的分区类型是82,不同的分区方式读的不同,一定要按l仔细查看后选择

7.用文件来添加swap分区


dd if输入=/dev/zero  of输出=/swapfile  bs一块大小=1M  count一共多大=1000  ##截取/swapfile
mkswap /swapfile ##格式化为swap类型
swapon -a /swapfile ##临时添加到swap里
swapon -s ##查看
swapon -a ... -p number ##挂上,并且-p设定优先级number表示优先级
vim /etc/fstab  
man  swapon
/swapfile  swap swap defaults,pri=n  0  0   #pri优先级
然后挂上

首先 man swapon

//发现 -p参数可以改变分区的优先级

添加文件配置:

8.删除swap分区

vim /etc/fstab  ##删除此文件中添加的swap行
swapoff /swapfile ##断开swap文件链接
swapoff /dev/vdb1 ##断开swap磁盘链接
rm -rf /swapfile  ##删除文件
fdisk /dev/vdb    ##删除磁盘分区
partprobe     ##同步分区表


9.磁盘加密

1.磁盘加密与取消

对文件系统加密
这样,即使破坏了文件系统,文件也不会显示出来,就变成加密字符,谁也用不了了,只能暴力破解。

创建设备,安装加密层,打开加密层格式化解密后设备

fdisk /dev/vdb   ##创建新分区
cryptsetup  luksFormat  /dev/vdb1    ##加密
//cryptsetup 后面的参数自动补不齐,手敲,,大写YES确定,小写无效

##再次打开时,需要open /dev/vdbn fsname ,里面的close 也需要自己手动输入 fsname
cryptsetup  open   /dev/vdb1  100jkyuanxudong   ##打开加密的分区
mkfs.xfs  /dev/mapper/100jkyuanxudong    ##格式化分区为xfs格式

mount  /dev/mapper/100jkyuanxudong  /mnt    ##挂载
##不能直接挂载/dev/vdb1,会提示该分区为加密分区,无法挂载,必须open后才可以挂载。

//不管名字,进入的是同一个地方



2.加密磁盘的永久挂载


vim   /etc/crypttab
"解密后设备管理文件                设备                   加密字符存放文件"
redhat                   /dev/vdb1          /root/lukspsfile
vim   /root/lukspsfile

chmod  600  /root/lukspsfile    ##这是保证文件的安全性
cryptsetup  luksAddKey  /dev/vdb1  /root/lukspsfile
##luksAddKey 注意两个字母大写,输入的是/dev/vdbn 的密码
vim  /etc/fstab
/dev/mapper/100jkyuanxudong       /mnt    xfs     defaults    0   0

##fstab里面的文件名一定要和crypttab的一样!!

reboot  ##重启测验是否永久挂载

reboot之后:

3.加密清除

vim /etc/fstab                             ##清除开机自动挂载
vim /etc/crypttab                          ##清除解密配置文件
rm -fr /root/lukspasswd                        ##删除密码存放文件
umount /mnt                                ##取消挂载
cryptsetup close /dev/mapper/redhat                        ##关闭加密磁盘
mkfs.xfs /dev/vdb1 -f                      ##格式化加密磁盘


//成功删除

//重新挂载

发布了55 篇原创文章 · 获赞 38 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/mon_star/article/details/76718566