准备工作:
350 westos-vmctl reset westosa ##重置虚拟机
设置id 172.25.254.111
351 ssh -l root 172.25.254.111 ##连接虚拟机
给虚拟机添加硬盘 /dev/vdb
1.设备识别
在Linux操作系统中,任何物理存储设备接入系统后都是以文件的形式存在,且不同类别的设备接入系统后被识别的文件类型不同,这里我们用下表来详细说明:
物理设备类别 设备识别文件名称
SATA/SAS/USB(串口硬盘) /dev/sda,/dev/sdb ##s=SATA,d=DISK ,字母=第几块硬盘
IDE(老式并口硬盘) /dev/hd0,/dev/hd1 ##h=hard
VIRTIO-BLOCK(虚拟设备) /dev/vda,/dev/vdb ##v=virtio
M2/SSD(M2口固态硬盘) /dev/nvme0,/dev/nvme1 ##nvme=m2
SD/MMC/EMMC(迷你存储卡) /dev/mmcblk0,/dev/mmcblk1 ##mmcblk=mmc卡
光驱/光盘 /dev/cdrom,/dev/sr0,/dev/sr1 设备接入系统后,我们可以用以
设备查看:
fdisk -l ##查看磁盘的分区情况
lsblk ##查看设备使用情况,即哪些磁盘的哪些分区正在被谁使用
blkid ##查看设备管理方式(设备上的文件系统类型)及设备id
[root@westoslinux Desktop]# blkid
/dev/vda1: UUID="5640a252-d218-4377-917b-f7857918682a" TYPE="xfs" PARTUUID="34fd8722-01"
/dev/vda2: UUID="e79a5f1b-345e-4f76-be18-3f0a069fc81c" TYPE="swap" PARTUUID="34fd8722-02"
/dev/vda3: UUID="62f69d75-abe0-4c6b-a59c-dd69b6f80965" TYPE="xfs" PARTUUID="34fd8722-03"
/dev/vdb1: PARTUUID="37939e32-01"
磁盘分区
(3)分区方法
方法一:fdisk /dev/sdb交互式对设备进行分区
参数 含义 参数 含义
m 获得帮助 t 更改分区类型
d 删除 w 保存更改
l 列出所有分区类型 q 退出
n 新建 g 设定分区方式为GPT
p 显示分区表 o 设定分区方式为mbr
方法二:parted非交互式对设备进行分区
parted -l查看分区表 /dev/vda分区方式为msdos即MBR
parted 设备 mklabel msdos/gpt:设定设备分区方式为MBR/GPT
parted 设备 mkpart 分区类型 分区起始位置 分区结束位置:在/dev/vdb上新建一个大小为100M的主分区
parted 设备 rm 分区号:删除/dev/vdb上建立的1号主分区
实验步骤:创建swap分区
1.
//fdisk /dev/sdb交互式在设备/dev/vdb上创建分区,更改分区的类型为Linux swap
**Command (m for help): p
Disk /dev/vdb: 5 GiB, 5368709120 bytes, 10485760 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
Disklabel type: dos
Disk identifier: 0x16731673
**Command (m for help): n
Partition type
p primary (0 primary, 0 extended, 4 free)
e extended (container for logical partitions)
**Select (default p):
Using default response p.
**Partition number (1-4, default 1):
**First sector (2048-10485759, default 2048):
**Last sector, +sectors or +size{K,M,G,T,P} (2048-10485759, default 10485759): +1G
Created a new partition 1 of type 'Linux' and of size 1 GiB.
Partition #1 contains a xfs signature.
**Do you want to remove the signature? [Y]es/[N]o: Y
The signature will be removed by a write command.
**Command (m for help): t
Selected partition 1
**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 or 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 ea Rufus alignment
e W95 FAT16 (LBA) 53 OnTrack DM6 Aux a5 FreeBSD eb BeOS fs
f W95 Ext'd (LBA) 54 OnTrackDM6 a6 OpenBSD ee GPT
10 OPUS 55 EZ-Drive a7 NeXTSTEP ef EFI (FAT-12/16/
11 Hidden FAT12 56 Golden Bow a8 Darwin UFS f0 Linux/PA-RISC b
12 Compaq diagnost 5c Priam Edisk a9 NetBSD f1 SpeedStor
14 Hidden FAT16 <3 61 SpeedStor ab Darwin boot f4 SpeedStor
16 Hidden FAT16 63 GNU HURD or Sys af HFS / HFS+ f2 DOS secondary
17 Hidden HPFS/NTF 64 Novell Netware b7 BSDI fs fb VMware VMFS
18 AST SmartSleep 65 Novell Netware b8 BSDI swap fc VMware VMKCORE
1b Hidden W95 FAT3 70 DiskSecure Mult bb Boot Wizard hid fd Linux raid auto
1c Hidden W95 FAT3 75 PC/IX bc Acronis FAT32 L fe LANstep
1e Hidden W95 FAT1 80 Old Minix be Solaris boot ff BBT
Hex code (type L to list all codes): 82 ##选择swap分区82
Changed type of partition 'Linux' to 'Linux swap / Solaris'.
**Command (m for help): p ##显示分区表
Disk /dev/vdb: 5 GiB, 5368709120 bytes, 10485760 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
Disklabel type: dos
Disk identifier: 0x16731673
Device Boot Start End Sectors Size Id Type
/dev/vdb1 2048 2099199 2097152 1G 82 Linux swap / Solari
Filesystem/RAID signature on partition 1 will be wiped.
**Command (m for help): wq ##保存退出
The partition table has been altered.
Syncing disks.
同步分区表,格式化新建设备/dev/vdb1的文件系统为swap格式,在系统缓冲区中添加/dev/vdb1,指定其优先级为1(数字越大优先级越高),查看swap分区信息可以看到添加成功;
[root@westoslinux mnt]# udevadm settle ##同步分区表
[root@westoslinux mnt]# mkswap /dev/vdb1 ##格式化新建设备/dev/vdb1的文件系统为swap格式
mkswap: error: /dev/vdb1 is mounted; will not make swapspace ##报错,/dev/vdb1正在挂载
[root@westoslinux mnt]# umount /dev/vdb1 ##卸载/dev/vdb1
[root@westoslinux mnt]# mkswap /dev/vdb1 ##再次格式化新建设备/dev/vdb1的文件系统为swap格式
mkswap: /dev/vdb1: warning: wiping old xfs signature.
Setting up swapspace version 1, size = 1024 MiB (1073737728 bytes)
no label, UUID=e6a5e052-50b1-44e6-884a-6f18ab2297c5
[root@westoslinux mnt]# blkid ##查看设备管理方式(设备上的文件系统类型)及设备id,察看是否格式化成果
/dev/vda1: UUID="5640a252-d218-4377-917b-f7857918682a" TYPE="xfs" PARTUUID="34fd8722-01"
/dev/vda2: UUID="e79a5f1b-345e-4f76-be18-3f0a069fc81c" TYPE="swap" PARTUUID="34fd8722-02"
/dev/vda3: UUID="62f69d75-abe0-4c6b-a59c-dd69b6f80965" TYPE="xfs" PARTUUID="34fd8722-03"
/dev/vdb1: UUID="e6a5e052-50b1-44e6-884a-6f18ab2297c5" TYPE="swap" PARTUUID="16731673-01"
[root@westoslinux mnt]# swapon -a /dev/vdb1 -p 1 ##指定其优先级为1(数字越大优先级越高),此文件编写完成后不会立即生效,需要swapon -a(后不跟任何参数表示重新读取该设备挂载策略文件)
[root@westoslinux mnt]# swapon -s ##查看swap分区信息可以看到添加成功
Filename Type Size Used Priority
/dev/vda2 partition 2097148 476160 -2
/dev/vdb1 partition 1048572 0 1
[root@westoslinux mnt]# swapoff /dev/vdb1 ##关闭新建设备/dev/vdb1的文件系统
以上操作都为临时操作,如果要永久添加设备到swap分区,需要编写设备挂载策略文件 /etc/fstab,此文件编写完成后不会立即生效,需要swapon -a
[root@westoslinux mnt]# vim /etc/fstab ##编写设备挂载策略文件 /etc/fstab
//编写内容
/dev/vdb1 swap swap defaults,pri=1 0 0 ##参数pri作用等同于-p
//
[root@westoslinux mnt]# swapon -a ##重新读取该设备挂载策略文件
[root@westoslinux mnt]# swapon -s ####查看swap分区信息可以看到添加成功
Filename Type Size Used Priority
/dev/vda2 partition 2097148 475892 -2
/dev/vdb1 partition 1048572 0 1
磁盘配额
写入指定设备的最大额度,这样可以避免某个用户的过度使用磁盘空间
2 mkdir /westos ##新建目录
4 rm -fr /westos/* ##要清空目录,不然挂载会有问题
5 fdisk /dev/vdb ##交互式对设备/dev/vdb进行分区
6 mkfs.xfs /dev/vdb1 ##格式化设备为xfs文件系统
7 mount /dev/vdb1 /westos/ ##挂载该设备到/westos目录
8 chmod 1777 /westos/ ##挂载完后再去修改文件系统的权限
10 umount /westos ##卸载设备
11 mount -o usrquota /dev/vdb1 /westos/ ##重新挂载设备并激活配额参数usrquota
12 mount ##查看挂载信息
//
/dev/vdb1 on /boot type xfs (rw,relatime,seclabel,attr2,inode64,usrquota)
//
13 edquota -u westos ##为用户westos设定磁盘配额
//
Disk quotas for user westos (uid 1000):
Filesystem blocks soft hard inodes soft hard
/dev/vdb1 0 0 20480 0 0 0
//
8 dd if=/dev/zero of=/westos/file bs=1M count=21
9 du -sh /westos/file
//
[westos@westoslinux ~]$ dd if=/dev/zero of=/westos/file bs=1M count=21
dd: error writing '/westos/file': Disk quota exceeded
21+0 records in
20+0 records out
20971520 bytes (21 MB, 20 MiB) copied, 0.00768795 s, 2.7 GB/s
[westos@westoslinux ~]$ du -sh /westos/file
20M /westos/file
//
10 exit
以上操作都为临时操作,如果要永久为指定设备设定磁盘配额,需要编写设备挂载策略文件 /etc/fstab
umount /westos ##卸载
18 vim /etc/fstab ##永久为指定设备设定磁盘配额,需要编写设备挂载策略文件 /etc/fstab
//
/dev/vdb1 /westos xfs defaults,usrquota 0 0
//
19 mount -a ##重新读取设备挂载策略文件
20 df ##查看挂载
quotaoff -uv 设备关闭磁盘配额(-u表示显示激活状态-v表示显示过程),此时普通用户上传文件大小不受限