Blog16@linux存储设备的管理(2)—分区


分区


一、关于分区的一些基本信息


1.关于设备分区信息

一个扇区大小:512byte
>> mbr主引导记录446byte ---主引导分区安装引导加载程序的地方
>> mpt主引导分区表64byte  
>> 硬盘的有效性标识"55aa" 2个字节(更改后硬盘无法启动)
>> 一个主分区占用16个字节记录分区信息
>> 一块硬盘上如果用mbr的分区方式最多可以存在4个主分区
>> 主分区,也叫引导分区,最多只能创建4个,当创建四个主分区时,无法创建扩展分区,更无逻辑分区。
>> 扩展分区,除主分区外,剩余的磁盘空间即为扩展分区,其为概念,不可肉眼识别。
>> 逻辑分区在扩展分区上面,可创建多个逻辑分区。
其相当于一块存储截止,和操作系统还有别的逻辑分区,主分区没有什么关系,是“独立的”。

2. 不同文件系统支持的最大分区大小

文件系统,用来识别硬件
ext2-3 最多支持32Tb分区
ext4   最多支持1Eb分区
fat   最多支持4Tb分区
wtfs 最多支持32Tb分区
xfs  最多支持18Eb分区 --适用大数据文件系统
fat wtfs链式文件系统,稳定性不太好
ext xfs 分布式文件系统,稳定性较好


二、 mbr分区方式


注:最大支持分区的大小为2Tb

1.关于分区过程

如下操作:

1)[root@localhost ~]# fdisk /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   ##修改分区id
   u   change display/entry units
   v   verify the partition table
   w   ##将当前操作写入硬盘分区表
   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): 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  ##这些信息都是在内存中的,如果只有q,表示内存中的信息被释放,关于分区的更改并未被保存
The partition table has been altered!

Calling ioctl() to re-read partition table.
Syncing disks.

注:分区好的硬盘无法挂载,缺少文件系统
2)cat /proc/partitions    ##查看设备是否被系统识别
       partprobe  同步分区表
3)mkfs.xfs /dev/vdb1    ##格式化设备,在设备上安装文件系统xfs
       blkid            ##查看可用设备,可以看到被格式化好的/dev/vdb1
4)mount /dev/vdb1 /mnt    ##挂载设备,使设备投入使用

2. 关于设备永久挂载

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

设备         挂载点    文件系统类型    挂载参数    是否备份    是否检测
/dev/vdb1  /westos      xfs        defaults       0         0
mount -a    ##让fstab中未生效的策略生效

注:配置文件内容千万不能写错,否则系统将不能重新启动
   且关于fstab的其他用法,可以man了解一下


三、swap分区


1. swap分区查看

swapon -s

Filename                                Type            Size    Used    Priority
/dev/sda2                               partition       3933180 1468    -1 

2.swap分区的建立

法一:
划分分区并修改分区id为swap:

1)fdisk /dev/vdb 建立分区

Device Boot      Start         End      Blocks   Id  System
/dev/vdb1        2048       2050047     1024000   83  Linux

2)fdisk /dev/vdb

Command (m for help): t
Selected partition 1
Hex code (type L to list all codes): l  ##列出所有id类型代码
Hex code (type L to list all codes): 8e ##把/dev/vdb1的分区类型修改为swap,swap类型代码为8e
Changed type of partition 'Linux' to 'Linux swap / Solaris'
Command (m for help): wq

[root@localhost ~]# mkswap /dev/vdb1       ##格式化设备为swap文件系统格式

[root@localhost ~]# swapon -a /dev/vdb1    ##激活swap设备,使系统利用此设备
[root@localhost ~]# vim /etc/fstab    ##让此设备开机自动激活

/dev/vdb1       swap    swap    defaults        0       0

[root@server ~]# swapon -s        ##列出目前使用swap的设备有哪些

Filename                Type        Size    Used    Priority
/dev/vdb1             partition    10484732    0     -1

法二:

当磁盘全部被占用,不能创建新分区时,可以用文件来代用分区                
[root@localhost ~]# dd if=/dev/zero of=/swapfile bs=1M count=1000  
此文件创建后的步骤和设备的步骤一致
mkswap /swapfile
swapon -a /swapfile
swapon -s


3. swap分区的删除

[root@localhost ~]# vim /etc/fstab
[root@localhost ~]# swapoff /dev/vdb1
[root@localhost ~]# swapoff /swapfile
[root@localhost ~]# rm -rf /swapfile
[root@localhost ~]# fdisk /dev/vdb

四、磁盘配额


目的:

磁盘配额是计算机中指定磁盘的储存限制,就是管理员可以为用户所能使用的磁盘空间进行配额限制,每一用户只能使用最大配额范围内的磁盘空间。即为磁盘使用的用户分配额度,分区配额是针对于设备。

过程:

1)新建分区,并进行xfs格式化

注:分区大小:500M

2)激活设备配额参数

mount -o usrquota /dev/vdb1 /westos/ 
chmod 777 /westos/
edquota -u student /dev/vdb1

Disk quotas for user student (uid 1000):
  Filesystem                   blocks       soft       hard     inodes     soft     hard
  /dev/vdb1                         0        0        204800       0        0        0
     设备                    已存在的文件大小  软额度     最大额度   文件个数    软额度    最大额度

3)结果如下:

[root@server ~]# su - student
Last login: Tue Nov  7 02:21:39 EST 2017 on pts/0
[student@server ~]$ dd if=/dev/zero of=/westos/swapfile  bs=1M count=250
dd: error writing ‘/westos/swapfile’: Disk quota exceeded
201+0 records in
200+0 records out

209715200 bytes (210 MB) copied, 0.235273 s, 891 MB/s

注:由上可见,200M没有超过最大额度


五、gtp分区


guid 磁蝶分割表(GUID Partition Table,缩写:GPT)其含义为“全局唯一标识分区表”
与MBR最大4个分区表项的限制相比,GTP对分区数量没有限制
windows最大仅支持128个GPT分区
GPT可管理硬盘大小达到了18Eb,满足企业最大支持容量.

六、分区方式修改


1. 修改目的

为了突破mbr分区的最大支持容量
MBR只支持不超过2T的磁盘,超过2T的硬盘将只能用2T空间(支持32和64为操作系统)
GPT支持超过2T的磁盘(仅支持64位操作系统)

2.修改方式

 mbr <-----> gpt

[root@localhost ~]# 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? 
aix    amiga  bsd    dvh    gpt    loop   mac    msdos  pc98   sun    
New disk label type? msdos|gpt  ##把原有的gpt改称为mbr格式|把gpt的改为mbr的
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                                                               
(parted) quit                                                             
Information: You may need to update /etc/

注:修改分区前需要取消/dev/vdb 上分区的挂载



七、建立分区加密


1.关于分区加密过程


luks加密(Linux Unified Key Setup)为linux硬盘加密的一种标准,不仅能适用于不同Linux发行版本,还支持多用户口令。
因为它的加密密钥独立于口令,所以口令失密,我们可以迅速改变口令而无需重新加密整个硬盘。通过提供一个标准的磁盘上的格式,它不仅方便之间分布的兼容性,而且还提供了多个用户密码的安全管理。必须首先对加密的卷进行解密,才能挂载其中的文件系统。

磁盘加密为底层加密,如果强力破解,得到的结果就是文件损坏,将得不到自己想要的信息。


注:基于文件系统上层的加密,安全性不高

   luks加密,安全性能高

2.  加密工具及其特点

工具:cryptsetup(默认已经安装)

常用参数:luksFormat、luksOpen、luksClose、luksAddKey

 

    使用cryptsetup对分区进行了加密后,这个分区就不再允许直接挂载。LUKS也是一种基于device mapper 机制的加密方案。如果要使用这个分区,必须对这个分区做一个映射,映射到/dev/mapper这个目录里去,我们只能挂载这个映射才能使用。然而做映射的时候是需要输入解密密码的。

 

Crypsetup工具加密的特点:

Ø  加密后不能直接挂载

Ø  加密后硬盘丢失也不用担心数据被盗

Ø  加密后必须做映射才能挂载

 

步骤:

1.   创建分区并加密分区

2.   映射分区

3.   格式化分区并挂载使用

4.  关闭映射分区

 

创建一个磁盘分区/dev/sdb1,不进行格式化


3. 分区加密的过程

过程如下:

1)创建一个磁盘分区/dev/sdb1,不进行格式化


2)对磁盘进行加密格式化

cryptsetup luksFormat /dev/sdb1


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

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

Are you sure? (Type uppercase yes): YES  ##此处应为大写
Enter passphrase:    ##设置的秘密要有一定的复杂度/大于8个字节
Verify passphrase:

3) 打开加密磁盘

cryptsetup open /dev/sdb1 hongyeli


该命令使得/dev/vdb1加密后的分区直接映射到/dev/mapper/hongyeli分区上,我们在真正读写分区时使用的是/dev/mapper/hongyeli 分区

4)格式化映射设备,格式化为xfs 文件系统

mkfs.xfs /dev/mapper/hongyeli


5)挂载

mount /dev/mapper/hongyeli /mnt


6)使用完成后卸载,卸载挂载点 hongyeli

umount /mnt

7)关闭映射设备

cryptsetup close hongyeli


8)再次打开映射设备发现需要密码验证

cryptsetup open /dev/vdb1 hongyeli

mount /dev/mapper/hongyeli /mnt



2. 加密设备开机自动挂载

1) [root@localhost mapper]# vim /etc/fstab

 /dev/mapper/hongyeli    /mnt    xfs    defaults    0 0 

2) [root@localhost mapper]# vim /root/passfile      

 chmod 600 /root/passfile

3)[root@localhost mapper]#vim /etc/crypttab    

      hongyeli    /dev/vdb1    /root/passfile
##解密后设备管理文件    设备       加密字符存放处

4) [root@localhost mapper]# cryptsetup luksAddKey /dev/sdb1 /root/passfile 


3. 加密的清除

[root@localhost ~]# umount /mnt
[root@localhost ~]# cryptsetup close hongyeli
[root@localhost ~]# mkfs.xfs /dev/sdb1 -f     ##格式化为了破坏加密
[root@localhost ~]# vim /etc/fstab
[root@localhost ~]# vim /etc/crypttab

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值