一、设备的查看
1、发现系统中的设备
fdisk -l
cat /proc/partitions ##查看与系统同步的硬盘分区
2、系统发现的,随时可以使用的
blkid ##查看设备ID及设备类型
3、发现并且在使用的设备
df ##查看正在使用的设备
-h ##统计size
二、设备名称的读取
用fdisk -l 查看
/dev/xd*
x=s /dev/sd* ## 表示sata硬盘或iscsi网络存储
x=v /dev/vd* ## 表示虚拟硬盘,一般出现在虚拟机里
x=h /dev/hd* ## ide设备,一般出现在老式电脑中
*=a~? ##/dev/vda,系统中第一块硬盘
/dev/sda1 ##系统中第一块硬盘的第一个分区
/dev/cdrom,/dev/sr[0~?] ##系统中的光驱
/dev/mapper/* ##系统中的虚拟设备
三、分区管理
1、设备分区信息
1、mbr主引导记录446个字节
2、mpt主分区表64个字节
3、硬盘的有效性标示‘55aa’2个字节
4、一个主分区占用16个字节记录分区信息
5、一块硬盘上如果用mbr的分区方式最多可以存在4个主分区
6、主分区
7、扩展分区
8、逻辑分区
硬盘是圆的,一块空硬盘上会预留512个字节用来引导硬盘刻录,mbr是主引导记录他有446个字节,其次是mpt主分区表64个字节,mpt是用来记录分区表的,能分几个区主要看mpt记录一个分区所用字节,接下来就是硬盘标示有2个字节,因为mbr的分区方式一个分区占用16个字节记录分区信息,所有mbr的分区方式最多可以存在4个主分区,mbr只能支持2TB的存储空间
分区分为主分区,扩展分区和逻辑分区,主分区是能够直接设置的,扩展分区相当于一个袋子用来装除主分区以外的分区,而这些其他的分区就叫做逻辑分区
2、建立分区
fdisk -l ##查看系统中的设备
fdisk /dev/vdb ##进入/dev/vdb 设备的交互模式
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 parti:tion'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)
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-16777215, default 2048): 2048 ##分区起始块的位置,用默认
Last sector, +sectors or +size{K,M,G} (2048-16777215, default 16777215): +500M ##添加分区大小
Partition 1 of type Linux and of size 500 MiB is set
Command (m for help): wq ##保存分区策略并退出
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.
3、格式化分区
1、为什么要格式化分区
刚刚硬盘是分好区了,但是操作系统并不会读取,这时候就需要一个文件系统当作第三者,提供数据交互的桥梁
目前linux支持的分区有以下几种:
[kiosk@foundation53 ~]$ mkfs
mkfs mkfs.cramfs mkfs.ext3 mkfs.fat mkfs.msdos mkfs.xfs
mkfs.btrfs mkfs.ext2 mkfs.ext4 mkfs.minix mkfs.vfat
windows的文件系统是msdos
xfs是在linux中用的比较多的并且稳定的,它可以扩容热硬盘大小
ext2-4的文件系统支持热扩容或缩减硬盘大小
将刚才新创建的硬盘格式化并转换成xfs格式
查看系统是否同步了硬盘信息
如果没有就用partprobe来同步信息
4、删除分区
首先umount分区
四、设备的使用
1、挂载
设备必须要用目录来对设备中的内容进行读取,所有设备在使用时需要作挂载动作
格式化硬盘分区并转换格式之后必须通过挂载来使用
mount 设备 挂载目录 ##设备的挂载
mount /dev/vdb1 /mnt
##把系统中第二块硬盘的第一个分区挂载到mnt下
df ##查看挂载设备及挂载位置
-h ##显示大小
这时设备挂载上之后就可以可读可写了
如果只想读取内容,在挂载时使用以下命令
mount /dev/vdb1 -o ro /mnt
##只读挂载第二块硬盘的第一个分区挂载道mnt下
如果只读后想写入的话,就重新挂载
mount /dev/vdb1 -o remount,rw /mnt|/dev/vdb1
##在设备被使用时更改设备的挂载参数为rw(读写)
2、永久挂载
vim /etc/fstab ##设备挂载策略文件
设备 挂载点 文件系统类型 挂载参数 是否备份设备 是否检测设备
/dev/vdb1 /new xfs defaults 0 0
mount -a ##让fstab中未生效的策略生效
3、卸载
umount 设备 | 挂载点 ##退出挂载
umount /dev/vdb1 |/mnt
=============================================================
注意:当卸载设备是出现下列情况
[root@foundation5 mnt]# 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
fuser -vm /mnt
进程结束的方式
kill -9 uid
fuser -kvm /mnt
[root@foundation5 ~]# fuser -kvm /mnt
USER PID ACCESS COMMAND
/mnt: root kernel mount /mnt
root 5325 ..c.. bash
root 6106 F.c.. vim
然后umount就好
五、swap分区的管理
swap是交换分区,是系统自己使用的,不需要挂载
1、swap分区的查看
[root@node2 ~]# swapon -s ##查看swap分区信息
Filename Type Size Used Priority
/dev/vda2 partition 819196 0 -1
2、swap分区的建立
[root@node2 ~]# fdisk /dev/vdb ##fdisk管理vdb硬盘
ommand (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 ##选择swap分区(82)
Changed type of partition 'Linux' to 'Linux swap / Solaris'
Command (m for help): wq ##保存退出
[root@node2 ~]# mkswap /dev/vdb1 ##格式化设备为swap文件系统格式
[root@node2 ~]# swapon -a /dev/vdb1 ##激活添加swap设备,是系统利用此设备
[root@node2 ~]# vim /etc/fstab ##设置开机启动
/dev/vdb1 swap swap defaults 0 0
先将分区创建出来并修改它的类型
然后格式化文件类型,再激活设备就可以看到了
==============================================================
[root@node2 ~]# dd if=/dev/zero of=/swapfile bs=1M count=1000
1000+0 records in
1000+0 records out
1048576000 bytes (1.0 GB) copied, 9.98506 s, 105 MB/s
if 是 输入的内容
of 是 建立的文件目录
bs 是 一块1M
count是 多少块
可以看到创建了一个1000M的空文件,接下来就转换他的文件系统类型,然后激活就行了
这个操作可以解决内存用完了,就可以通过硬盘容量来解决交换分区缺少的问题
如果想要永久挂载,就和之前一样vim /vim/fstab文件
3、swap分区的删除
swapoff 设备
然后fdisk删除设备、删除/swapfile文件
六、磁盘配额
为磁盘使用用户分配额度,分区的配额是针对设备的
1、激活设备配额参数
[root@node2 ~]# mount -o usrquota /dev/vdb1 /mnt
[root@node2 ~]# chmod 777 /mnt/
[root@node2 ~]# edquota -u student /dev/vdb1
Disk quotas for user student (uid 1000):
Filesystem blocks soft hard inodes soft hard
/dev/vdb1 0 0 100000 0 0 0
通过edquota命令打开了一个文件,在里面修改hard参数,参数单位是K
可见给student分了100M的存储空间,shudent无法使用存储多于100M
2、永久激活配额
vim /etc/fstab
/dev/vdb1 /mnt xfs defaults,usrquota 0 0
在挂载参数后加上usrquota的参数就可以了
七、分区方式的修改
[root@node2 ~]# 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? gpt #修改为gpt
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
(parted) quit
Information: You may need to update /etc/fstab.
fdisk -l ##查看分区信息
....
Disk label type: gpt ##分区标签已经修改成gpt了
...
[root@node2 ~]# partprobe #同步系统和硬盘信息
在虚拟机实操上,它提示我硬盘正在使用,需要重启才能够生效
八、磁盘加密
1、创建一个磁盘加密的分区
1、建立分区 fdisk ##先建立空白分区
2、cryptsetup luksFormat /dev/vdb1 ##加密建立的分区
##yes一定要大写
3、cryptsetup open /dev/vdb1 test ##打开建立的分区,并命名为test
4、mkfs.xfs /dev/mapper/test ##默认解密后放在/dev/mapper/test
##格式化为xfs文件类型
5、mount /dev/mapper/test /mnt ##挂载
cd /mnt
touch file {1..10}
6、cryptsetup close test ##将解密的文件加密并关闭
7、cryptsetup open /dev/vdb1 test ##打开
8、mount /dev/mapper/test /mnt ##挂载
9、ll /mnt ##看
yes 一定要大写,默认加密后的分区存放在/dev/mapper下
接下来就给加密的分区格式话文件系统和挂载
关闭加密分区
2、加密设备开机自动挂载
1、vim /etc/fstab ##vim fstab文件
/dev/mapper/test /mnt xfs defaults 0 0 ##添加设备自动挂载
2、vim /etc/crypttab ##填写加密硬盘对应关系
test /dev/vdb1 /root/pwdfile
3、vim /root/pwdfile ##密码
直接写明文密码
chmod 600 /root/pwdfile ##修改权限,更安全
4、cryptsetup luksAddKey /dev/vdb1 /root/pwdfile
##将硬盘和密码连接起来
5、reboot ##重启
3、清除加密
1、umount /mnt ##卸载
2、cryptsetup close test ##关闭设备
3、mkfs.xfs /dev/vdb1 -f ##删除设备上的文件系统
4、vim /etc/fstab ##删除开机自动挂载
5、vim /etc/crypttab ##删除对应信息