名称 | 方法 |
---|---|
真实存在的设备 | fdisk -l |
系统识别的设备 | cat /proc/partitions |
系统可以使用的设备 | blkid |
系统正在挂载的设备 | df |
其中,四者之间的关系为真实存在的( fdisk -l),但不一定被识别;识别的(cat /proc/partition),不一定能用;一定能用的(blkid),不一定被使用(df)。
##发现系统中的设备(真实存在的设备)
[root@foundation70 ~]# fdisk -l
WARNING: fdisk GPT support is currently new, and therefore in an experimental phase. Use at your own discretion.
Disk /dev/sda: 250.1 GB, 250059350016 bytes, 488397168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: gpt
# Start End Size Type Name
1 2048 1023999 499M Windows recover Basic data partition
2 1024000 1226751 99M EFI System EFI System Partition
3 1226752 1259519 16M Microsoft reser Microsoft reserved partition
4 1259520 209715199 99.4G Microsoft basic Basic data partition
5 209715200 302903295 44.4G Microsoft basic Basic data partition
6 302903296 305000447 1G Microsoft basic
7 305000448 313128959 3.9G Linux swap
8 313128960 488396799 83.6G Microsoft basic
##系统可以发现并且识别的设备
[root@foundation70 ~]# cat /proc/partitions
major minor #blocks name
8 0 244198584 sda
8 1 510976 sda1
8 2 101376 sda2
8 3 16384 sda3
8 4 104227840 sda4
8 5 46594048 sda5
8 6 1048576 sda6
8 7 4064256 sda7
8 8 87633920 sda8
11 0 1048575 sr0
7 0 3704832 loop0
##系统发现的,但是没有投入使用,随时可以使用的设备
[root@foundation70 ~]# blkid
/dev/sda1: LABEL="M-fM-^AM-"M-eM-$M-^M" UUID="728857BC88577E13" TYPE="ntfs" PARTLABEL="Basic data partition" PARTUUID="7ec6aeb9-dbc7-4347-8d50-b06abb8f81f1"
/dev/sda2: UUID="6057-D7B3" TYPE="vfat" PARTLABEL="EFI System Partition" PARTUUID="e4da49b7-9ea3-426d-9eba-9a50307833c6"
/dev/sda3: PARTLABEL="Microsoft reserved partition" PARTUUID="19b70024-1097-4f10-abae-f9da2236d59d"
/dev/sda4: UUID="E61AF3081AF2D511" TYPE="ntfs" PARTLABEL="Basic data partition" PARTUUID="8c28e437-c115-4f48-b4fe-d7e210ae6bdf"
/dev/sda5: LABEL="software" UUID="EA0083F90083CB51" TYPE="ntfs" PARTLABEL="Basic data partition" PARTUUID="c29ec523-ee7a-46db-b95f-0fe58644318f"
/dev/sda6: UUID="2155062d-4b85-4e33-9dc7-8c1560e8e280" TYPE="xfs" PARTUUID="ef631027-816f-4ef7-b901-a0ed5ee88e50"
/dev/sda7: UUID="794247b9-9e33-4c1d-aead-cbbbcece21e7" TYPE="swap" PARTUUID="b720eb2f-b998-4ad5-b21c-20a15d37a07d"
/dev/sda8: UUID="380ab965-c64e-49fd-954b-d48620c312a0" TYPE="xfs" PARTUUID="ab899699-439f-4363-b92b-0c1cdf6a026a"
/dev/loop0: UUID="2016-10-19-18-32-06-00" LABEL="RHEL-7.3 Server.x86_64" TYPE="iso9660" PTTYPE="dos"
##发现正在使用的设备
[root@foundation70 ~]# df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda8 87591132 15492916 72098216 18% /
devtmpfs 1964252 0 1964252 0% /dev
tmpfs 1979244 532 1978712 1% /dev/shm
tmpfs 1979244 9172 1970072 1% /run
tmpfs 1979244 0 1979244 0% /sys/fs/cgroup
/dev/sda6 1038336 149584 888752 15% /boot
/dev/sda2 97280 34697 62583 36% /boot/efi
/dev/loop0 3704296 3704296 0 100% /var/www/html/westos
tmpfs 395852 28 395824 1% /run/user/1000
##设备的名称
第一种:/dev/xdx————————磁盘
例如:/dev/hd0 /dev/hd1 ————ide硬盘,一般出现在老式电脑中
/dev/sda /dev/sdb ————sata硬盘,或者iscsi网络存储
/dev/vda1 /dev/vdb1 ————虚拟硬盘,一般出现在虚拟机里面
其中:a表示第一
/dev/vda,系统的第一块虚拟硬盘
/dev/sda1 ,系统中第一个sata硬盘的第一个分区
第二种:/dev/sr0————————光驱
第三种:/dev/mapper/*——————虚拟设备
/dev/xd* #设备名称,d代表硬盘 1. x=s时, /dev/sd* #sata硬盘,或者iscsi网络存储 2. x=v时, /dev/vd* #虚拟硬盘,一般出现在虚拟机里面 *=a~… #eg:/dev/vda,为系统的第一块虚拟硬盘 /dev/sda1 #系统中第一个sata硬盘的第一个分区
##设备的挂载
mount 设备 挂载点 说明
mount /dev/sdb1 /mnt 挂载sdb1到/mnt
umount /dev/sdb1 | /mnt 卸载sdb1(注意两种方式)
mount -o ro /dev/sdb1 /mnt 只读挂载
mount -a /mnt 重新加载/mnt中的内容
mount 查看挂载信息
mount -o remount rw /dev/sdb1 /mnt 重新读写挂载(相当于先卸载再挂载)
将/dev/vdb1挂载到/mnt上
[root@localhost ~]# mount /dev/vdb1 /mnt
[root@localhost ~]# df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/vda1 10473900 3158600 7315300 31% /
devtmpfs 493408 0 493408 0% /dev
tmpfs 508996 80 508916 1% /dev/shm
tmpfs 508996 13460 495536 3% /run
tmpfs 508996 0 508996 0% /sys/fs/cgroup
##挂载成功
/dev/vdb1 98988 5280 93708 6% /mnt
##卸载
[root@localhost ~]# umount /mnt
##将设备挂载为只读模式
[root@localhost ~]# mount -o ro /dev/vdb1 /mnt
[root@localhost ~]# df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/vda1 10473900 3158600 7315300 31% /
devtmpfs 493408 0 493408 0% /dev
tmpfs 508996 80 508916 1% /dev/shm
tmpfs 508996 13460 495536 3% /run
tmpfs 508996 0 508996 0% /sys/fs/cgroup
/dev/vdb1 98988 160 98828 1% /mnt
[root@localhost ~]# cd /mnt
## 建立文件建立失败,证明只读
[root@localhost mnt]# touch file
touch: cannot touch ‘file’: Read-only file system
此时若是想写文件,对设备进行热参数更改,从只读模式变为读写模式
[root@localhost mnt]# mount -o remount, rw /mnt
[root@localhost mnt]# touch file
[root@localhost mnt]# ls
file
##设备的永久挂载
[root@localhost ~]# vim /etc/fstab
/dev/vdb1 /mnt xfs defaults 0 0
设备名 挂载点 文件系统类型 挂载参数 是否备份 是否检测设备
[root@localhost ~]# mount -a #使fstab中未生效的策略生效
[root@localhost ~]# df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/vda1 10473900 3158688 7315212 31% /
devtmpfs 493408 0 493408 0% /dev
tmpfs 508996 80 508916 1% /dev/shm
tmpfs 508996 13460 495536 3% /run
tmpfs 508996 0 508996 0% /sys/fs/cgroup
/dev/vdb1 98988 5280 93708 6% /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 + 设备名 或者 fuser -vm 设备名
进程终止的方式为: kill -9 pid 或者 fuser -kvm 设备名
在进行磁盘分区之前,我们需要先了解几个概念
1.磁头:磁头是硬盘中对盘片进行读写工作的工具,磁盘转磁头读取信息。
2.盘片:硬盘中一般会有多个盘片组成,每个盘片包含两个面,每个盘面都对应地有一个读/写磁头。
3.磁道:盘面中一圈圈灰色同心圆为一条条磁道。
4.扇区:从圆心向外画直线,可以将磁道划分为若干个弧段,每个磁道上一个弧段被称之为一个扇区。扇区是磁盘的最小组成单元,通常是512字节
5.柱面:硬盘通常由重叠的一组盘片构成,每个盘面都被划分为数目相等的磁道,并从外缘的“0”开始编号,具有相同编号的磁道形成一个圆柱,称之为磁盘的柱面。磁盘的柱面数与一个盘面上的磁道数是相等的。由于每个盘面都有自己的磁头,因此,盘面数等于总的磁头数。
6.磁盘容量计算:存储容量 = 磁头数 × 磁道(柱面)数 × 每道扇区数 × 每扇区字节数。
7.主引导记录(MBR):位于磁盘最前边的一段引导代码,位于0扇面0磁道1扇区 。它负责磁盘操作系统(DOS)对磁盘进行读写时分区合法性的判别、分区引导信息的定位,它由磁盘操作系统(DOS)在对硬盘进行初始化时产生的。
##主引导记录——512字节
0磁道1扇区512字节,其中446字节,让磁头找系统的启动分区
#完成该动作的最短代码大小为446字节
512-446=66 = 64 + 2
64字节为 mpt主分区表
2字节为 55aa,硬盘有效性标识
一个主分区占用16个字节记录分区信息,故mbr最多有四个主分区
当四个主分区未被完全李荣时,可以将第四个主分区转化为扩展分区,在拓展分区中就可以划分多个逻辑分区。
扩展分区中逻辑驱动器的引导记录是链式的。每一个逻辑分区都有一个和MBR结构类似的扩展引导记录,分区表的第一项指向该逻辑分区本身的引导扇区,第二项指向下一个逻辑驱动器的扩展引导记录。
关于MBR分区必须注意:
1. 在MBR分区表中最多4个主分区或者3个主分区和1个扩展分区,即扩展分区只能有一个
2. 在MBR分区表中,一个分区的最大的容量是2T,且每个分区的起始柱面必须在这个硬盘的前2T内。如果硬盘太大则必须改用GPT
##磁盘分区管理—— fdisk
在进行磁盘分区管理时,我们可以使用fdisk +设备名(/dev/vdb),给/dev/vdb分区
名称 | 方法 |
---|---|
显示所有命令列示 | m |
添加分区 | n |
显示硬盘分割情形 | p |
设定硬盘启动区 | a |
硬盘为[延伸]分割区(extend) | e |
硬盘为[主要]分割区(primary) | p |
改变硬盘分割区属性 | t |
删除硬盘分割区属性 | d |
结束不存入硬盘分割区属性 | q |
结束并写入硬盘分割区属性 | w |
##磁盘划分具体操作
##给/dev/vdb分区
[root@localhost Desktop]# 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.
Device does not contain a recognized partition table
Building a new DOS disklabel with disk identifier 0x17548d22.
##选择m可以出现每个参数的作用,n表示新建一个
Command (m for help): n
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
##p表示建立一个主分区(最多四个),n表示建立逻辑分区
Select (default p): p
##选择分区编号,当你选择3时2就不可以使用了,所以默认回车即可
Partition number (1-4, default 1):
##起始扇区:默认从第2048块扇区
First sector (2048-20971519, default 2048):
Using default value 2048
##建立的分区大小
Last sector, +sectors or +size{K,M,G} (2048-20971519, default 20971519): +150M
Partition 1 of type Linux and of size 150 MiB is set
##p显示所有的分区
Command (m for help): p
Disk /dev/vdb: 10.7 GB, 10737418240 bytes, 20971520 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x17548d22
Device Boot Start End Blocks Id System
/dev/vdb1 2048 309247 153600 83 Linux
##退出并保存
Command (m for help): wq
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.
此时虽然分区已经被划分好,但是当我们使用blkid命令时并没有刚才划分出来的分区。所以此时需要格式化文件系统。
文件系统是操作系统用于明确存储设备(常见的是磁盘,也有基于NAND Flash的固态硬盘)或分区上的文件的方法和数据结构;即在存储设备上组织文件的方法。操作系统中负责管理和存储文件信息的软件机构称为文件管理系统,简称文件系统。
文件系统由三部分组成:文件系统的接口,对对象操纵和管理的软件集合,对象及属性。从系统角度来看,文件系统是对文件存储设备的空间进行组织和分配,负责文件存储并对存入的文件进行保护和检索的系统。具体地说,它负责为用户建立文件,存入、读出、修改、转储文件,控制文件的存取,当用户不再使用时撤销文件等。
在Linux系统中存在的文件系统有ext, ext2, ext3, jsf,ReiserFS和Xfs;其中常用的是xfs。
我们在使用mkfs时,如果你需要格式什么格式,就在后面加上需要的格式。例如:mkfs.xfs
##列出系统中可以使用的分区
[root@localhost Desktop]# blkid
/dev/vda1: UUID=“9bf6b9f7-92ad-441b-848e-0257cbb883d1” TYPE=“xfs”
##查看系统可以找到的分区
[root@localhost Desktop]# cat /proc/partitions
major minor #blocks name
253 0 10485760 vda
253 1 10484142 vda1
253 16 10485760 vdb
253 17 153600 vdb1
##格式化新建的分区,将其格式为xfs格式
[root@localhost Desktop]# mkfs.xfs /dev/vdb1
meta-data=/dev/vdb1 isize=256 agcount=4, agsize=9600 blks
= sectsz=512 attr=2, projid32bit=1
= crc=0
data = bsize=4096 blocks=38400, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=0
log =internal log bsize=4096 blocks=853, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
[root@localhost Desktop]# blkid
/dev/vda1: UUID=“9bf6b9f7-92ad-441b-848e-0257cbb883d1” TYPE=“xfs”
/dev/vdb1: UUID=“642bfaa9-7441-4f0e-bf4d-4a682c648eab” TYPE=“xfs”
swap分区是交换分区,在系统的物理内存不够用的时候,把物理内存的一部分空间释放出来,以供当前运行的程序使用。这些被释放的空间被临时保存到Swap分区中,等到那些程序要运行的时候,在从Swap分区中恢复保存的数据到内存中。所以swap分区系统自己使用并不需要挂载。
##swap分区的查看
名称 | 方法 |
---|---|
请帮帮我 | swapon -h |
显示版本讯息 | swapon -V |
显示简短的装置讯息 | swapon -s |
自动启动所有SWAP装置 | swapon -a |
设定优先权 | swapon -p |
用命令swapon -s来查看
##swap分区的建立
先要划分一个新的分区,划分分区的方法和主分区的方法相同,不过多赘述。但是在分区建立了之后,把分区的id修改为swap分区。例子如下:
##给/dev/vdb分区
[root@localhost Desktop]# 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): n
##p建立一个主分区
Partition type:
p primary (1 primary, 0 extended, 3 free)
e extended
Select (default p): p
Partition number (2-4, default 2):
First sector (309248-20971519, default 309248):
Using default value 309248
##大小为700M
Last sector, +sectors or +size{K,M,G} (309248-20971519, default 20971519): +700M
Partition 2 of type Linux and of size 700 MiB is set
##修改分区id
Command (m for help): t
Partition number (1,2, default 2): 2
##列出分区所有的id及其对应关系
Hex code (type L to list all codes): L
0 Empty 24 NEC DOS 81 Minix / old Lin bf Solaris
1 FAT12 27 Hidden NTFS Win 82 Linux swap / So c1 DRDOS/sec (FAT-
2 XENIX root 39 Plan 9 83 Linux c4 DRDOS/sec (FAT-
3 XENIX usr 3c PartitionMagic 84 OS/2 hidden C: c6 DRDOS/sec (FAT-
4 FAT16 <32M 40 Venix 80286 85 Linux extended c7 Syrinx
5 Extended 41 PPC PReP Boot 86 NTFS volume set da Non-FS data
6 FAT16 42 SFS 87 NTFS volume set db CP/M / CTOS / .
7 HPFS/NTFS/exFAT 4d QNX4.x 88 Linux plaintext de Dell Utility
8 AIX 4e QNX4.x 2nd part 8e Linux LVM df BootIt
9 AIX bootable 4f QNX4.x 3rd part 93 Amoeba e1 DOS access
a OS/2 Boot Manag 50 OnTrack DM 94 Amoeba BBT e3 DOS R/O
b W95 FAT32 51 OnTrack DM6 Aux 9f BSD/OS e4 SpeedStor
c W95 FAT32 (LBA) 52 CP/M a0 IBM Thinkpad hi eb BeOS fs
e W95 FAT16 (LBA) 53 OnTrack DM6 Aux a5 FreeBSD ee GPT
f W95 Ext'd (LBA) 54 OnTrackDM6 a6 OpenBSD ef EFI (FAT-12/16/
10 OPUS 55 EZ-Drive a7 NeXTSTEP f0 Linux/PA-RISC b
11 Hidden FAT12 56 Golden Bow a8 Darwin UFS f1 SpeedStor
12 Compaq diagnost 5c Priam Edisk a9 NetBSD f4 SpeedStor
14 Hidden FAT16 <3 61 SpeedStor ab Darwin boot f2 DOS secondary
16 Hidden FAT16 63 GNU HURD or Sys af HFS / HFS+ fb VMware VMFS
17 Hidden HPFS/NTF 64 Novell Netware b7 BSDI fs fc VMware VMKCORE
18 AST SmartSleep 65 Novell Netware b8 BSDI swap fd Linux raid auto
1b Hidden W95 FAT3 70 DiskSecure Mult bb Boot Wizard hid fe LANstep
1c Hidden W95 FAT3 75 PC/IX be Solaris boot ff BBT
1e Hidden W95 FAT1 80 Old Minix
##swap对应的id号为82
Hex code (type L to list all codes): 82
Changed type of partition 'Linux' to 'Linux swap / Solaris'
##显示所有的分区
Command (m for help): p
Disk /dev/vdb: 10.7 GB, 10737418240 bytes, 20971520 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x17548d22
Device Boot Start End Blocks Id System
/dev/vdb1 2048 309247 153600 83 Linux
/dev/vdb2 309248 1742847 716800 82 Linux swap / Solaris
##退出并保存
Command (m for help): wq
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.
##查看系统可以使用的设备
[root@localhost Desktop]# blkid
/dev/vda1: UUID=“9bf6b9f7-92ad-441b-848e-0257cbb883d1” TYPE=“xfs”
/dev/vdb1: UUID=“642bfaa9-7441-4f0e-bf4d-4a682c648eab” TYPE=“xfs”
##将磁盘分区或文件设为Linux的交换区
[root@localhost Desktop]# mkswap /dev/vdb2
Setting up swapspace version 1, size = 716796 KiB
no label, UUID=2c2bd616-65eb-4d89-a0e9-7b41e566ce7b
##查看系统可以使用的设备
[root@localhost Desktop]# blkid
/dev/vda1: UUID=“9bf6b9f7-92ad-441b-848e-0257cbb883d1” TYPE=“xfs”
/dev/vdb1: UUID=“642bfaa9-7441-4f0e-bf4d-4a682c648eab” TYPE=“xfs”
/dev/vdb2: UUID=“2c2bd616-65eb-4d89-a0e9-7b41e566ce7b” TYPE=“swap”
##查看系统可以使用的swap分区
[root@localhost Desktop]# swapon -s
##激活/dev/vdb2的swap分区
[root@localhost Desktop]# swapon -a /dev/vdb2
##查看系统可以使用的swap分区
[root@localhost Desktop]# swapon -s
Filename Type Size Used Priority
/dev/vdb2 partition 716796 0 -1
在/etc/fstab中填写信息,即可修改为永久的swap分区
/dev/vdb2 swap swap defaults 0 0
##删除swap分区
首先删除在/etc/fstab中填写信息,其次使用命令swapoff关闭分区指令;一般这样就可以了,但是你也可以通过fdisk进入磁盘内部再删除该磁盘分区
[root@localhost Desktop]# vim /etc/fstab
##关闭分区
[root@localhost Desktop]# swapoff /dev/vdb2
##查看系统可以使用的swap分区
[root@localhost Desktop]# swapon -s
磁盘配额可以限制指定账户能够使用的磁盘空间,这样可以避免因某个用户的过度使用磁盘空间造成其他用户无法正常工作甚至影响系统运行。
usrquota是用户配额的意思,grpquota是组配额
edquota命令用于编辑指定用户或工作组磁盘配额
执行quotaon指令可开启用户和群组的磁盘空间限制。
参 数:
-a 开启在/ect/fstab文件里,有加入quota设置的分区的空间限制。
-g 开启群组的磁盘空间限制。
-u 开启用户的磁盘空间限制。
-v 显示指令执行过程。
##将第一个(SATA)硬盘的第一分区挂在到/mnt这个目录里面
[root@localhost Desktop]# mount -o usrquota /dev/vdb3 /mnt
##修改/mnt权限
[root@localhost Desktop]# chmod 777 /mnt
##开启用户的磁盘空间限制,显示指令执行过程。
[root@localhost Desktop]# quotaon -uv /dev/vdb3
quotaon: Enforcing user quota already on /dev/vdb3
##编辑student用户磁盘配额
[root@localhost Desktop]# edquota -u student /dev/vdb3
edquota: WARNING - /dev/vdb3: cannot change current inode allocation
edquota: user /dev/vdb3 does not exist.
##负责配置Linux开机时自动挂载的分区
[root@localhost Desktop]# vim /etc/fstab
##指定无限空文件截取200M大小到/mnt/studentfile,成功
[root@localhost Desktop]# dd if=/dev/zero of=/mnt/studentfile bs=1M count=200
200+0 records in
200+0 records out
209715200 bytes (210 MB) copied, 0.286759 s, 731 MB/s
##指定无限空文件截取200M大小到/mnt/studentfile,成功
[root@localhost Desktop]# dd if=/dev/zero of=/mnt/studentfile bs=1M count=200
200+0 records in
200+0 records out
209715200 bytes (210 MB) copied, 0.333896 s, 628 MB/s
##指定无限空文件截取2G小到/mnt/studentfile,失败,只能截取1893531648 bytes (1.9 GB)
[root@localhost Desktop]# dd if=/dev/zero of=/mnt/studentfile1 bs=1M count=2000
dd: error writing ‘/mnt/studentfile1’: No space left on device
1806+0 records in
1805+0 records out
1893531648 bytes (1.9 GB) copied, 3.50087 s, 541 MB/s
##指定无限空文件截取4G大小到/mnt/studentfile,失败,只能截取1893531648 bytes (1.9 GB)
[root@localhost Desktop]# dd if=/dev/zero of=/mnt/studentfile1 bs=1M count=4000
dd: error writing ‘/mnt/studentfile1’: No space left on device
1806+0 records in
1805+0 records out
1893531648 bytes (1.9 GB) copied, 3.28914 s, 576 MB/s
##建立file{1…4}四个文件,只建立了一个文件,其余三个文件建立失败
[root@localhost Desktop]# touch /mnt/file{1…4}
touch: cannot touch ‘/mnt/file1’: No space left on device
touch: cannot touch ‘/mnt/file2’: No space left on device
touch: cannot touch ‘/mnt/file3’: No space left on device
touch: cannot touch ‘/mnt/file4’: No space left on device
dd:用指定大小的块拷贝一个文件,并在拷贝的同时进行指定的转换。
if=文件名:即指定源文件;of=文件名:即指定目的文件; bs:同时设置读入/输出的块大小为bytes个字节; count=n指仅拷贝n个块;/dev/zero:无限空设备
其中blocks表示可存在的文件大小,soft为软额度,hard为最大额度,inodes为可存在文件个数
blocks和soft都是一个真实存在的,所以无法修改,我们只能改变hard和inodes来控制配额
加密原理:磁盘分区的加密主要是其中的文件的加密,因为在文件上面会用一层文件系统来对文件进行管理。如果说加密在文件系统上的话,破解加密算法之后,文件仍然读取的是明文,并不安全。所以加密系统应该直接对文件来进行加密,而不是对文件系统进行加密,对文件直接进行加密,那么即使加密算法被破解,别人读取出来的仍然是加密过的密文,文件并不会泄露。
##查看系统中可识别的磁盘
[root@localhost Desktop]# blkid
/dev/vda1: UUID="9bf6b9f7-92ad-441b-848e-0257cbb883d1" TYPE="xfs"
/dev/vdb2: UUID="2c2bd616-65eb-4d89-a0e9-7b41e566ce7b" TYPE="swap"
/dev/vdb3: UUID="0d855b8b-2979-4dfe-81a9-6232ec056336" TYPE="xfs"
/dev/vdb1: UUID="85c60acc-b9e6-4af4-ac85-f2ddbd4360fd" TYPE="xfs"
/dev/vdb5: UUID="c6b0a6fc-313f-4636-8553-9c4c9af1d6b2" TYPE="xfs"
##对/dev/vdb5进行磁盘加密
[root@localhost Desktop]# cryptsetup luksFormat /dev/vdb5
WARNING!
========
This will overwrite data on /dev/vdb5 irrevocably.
##这里必须输入大写的YES,小写不识别
Are you sure? (Type uppercase yes): YES
Enter passphrase:
Verify passphrase:
##只有打开加密,才能对该分区进行使用;在 /dev/mapper/文件夹下出现一个虚拟设备的文件tian(自定义名称)
[root@localhost Desktop]# cryptsetup open /dev/vdb5 tian
Enter passphrase for /dev/vdb5:
##格式化虚拟设备的文件tian
[root@localhost Desktop]# mkfs.xfs /dev/mapper/tian
meta-data=/dev/mapper/tian isize=256 agcount=4, agsize=95872 blks
= sectsz=512 attr=2, projid32bit=1
= crc=0
data = bsize=4096 blocks=383488, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=0
log =internal log bsize=4096 blocks=2560, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
##新建一个挂载点
[root@localhost Desktop]# mkdir /cai
##将虚拟设备中的tian挂载
[root@localhost Desktop]# mount /dev/mapper/tian /cai
[root@localhost Desktop]# touch /cai/file{1..5}
[root@localhost Desktop]# ls /cai/
file1 file2 file3 file4 file5
[root@localhost Desktop]# umount /cai
##关闭后,会发现/dev/mapper/westos消失
[root@localhost Desktop]# cryptsetup close tian
[root@localhost Desktop]# ls /cai/
![在这里插入图片描述](https://img-blog.csdnimg.cn/20190731094847553.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2JyZWFkX3dpbm5lcg==,size_16,color_FFFFFF,t_70)
##磁盘解密
若是想查看加密分区的文件,只能再次打开加密,输入密码,进行挂载查看。
##开启加密文件
[root@localhost Desktop]# cryptsetup open /dev/vdb5 tian
Enter passphrase for /dev/vdb5:
[root@localhost Desktop]# ls /cai
##挂载到目录上
[root@localhost Desktop]# mount /dev/mapper/tian /cai
[root@localhost Desktop]# ls /cai
file1 file2 file3 file4 file5
第一步:编写/etc/fstab文件
/dev/mapper/westos /mnt xfs defaults 0 0
设备名 挂载点 文件系统类型 挂载参数 是否备份 是否检测设备
第二步:编写/etc/crypttab
westos /dev/vdb1 /root/passfile
编写这个文件是因为每次对加密分区进行操作的时候,需要打开加密,输入密码,该文件会把加密分区和设置的密码文件联系起来。
第三步:编写密码文件/root/passfile
这个文件里面直接写加密分区的时候设置的密码即可。但要记得给这个文件权限,600即可。
chmod 600 /root/passfile
第四步:设备文件与密码关联
cryptsetup luksAddKey /dev/vdb1 /root/passfile
加密清除应注意操作顺序