1、在linux系统中添加硬盘
打开虚拟机管理器,双击选定虚拟机,点击设定,第那几addhardware在storage里设置虚拟机
2、设备识别
设备接入系统后都是以文件形式存在
设备文件名称
1、SATA/SAS/USB /dev/sda,/dev/sdb ##s=SATA,d=DISK,a=第几块
2、IDE= /dev/hd0,/dev/hd1
##h=hard
3、VIRTIO-BLOCK /dev/vda,/dev/vdb
##v=virtio
4、M2(SSD) /dev/nvme0,/dev/nvme1
##nvme=m2
5、SD/MMC/EMMC/(卡)/dev/mmcblk0,/dev/mmcblkl ##nmcblk=nmc卡
6、光驱 /dev/cdrom,/dev/sr0,/dev/sr1
设备查看
df命令及参数
1、df
##查看设备挂在情况
##设备被什么样的目录识别
2、df -h
##统计设备大小,2的n次方为单位
3、df -H
##统计设备大小,10的n次方为单位
设备查看
fdisk -l ##查看磁盘分区情况
lsblk ##设备使用情况
blkid ##设备管理方式及设备id
df ##查看中在被系统挂载的设备
cat /proc/partitions ##查看系统识别设备
lsblk查看设备使用情况
blkid查看系统设备id
cat /proc/partitions查看系统识别的设备
fdisk -l 查看真实硬盘信息(大小,分区情况)
3、设备的挂载和卸载命令
挂载:让设备被目录读取
例如:
/dev/vda1 就被挂载在/boot里
执行命令umount /dev/vda1 卸载设备,当识别卸载后/boot中将无法读取/dev/vda1中的数据
当卸载设备时可能会出现设备正在被系统使用,无法完成卸载,此时需要结束设备上的所有程序
执行命令fuser -vm /mnt 查看设备上运行的程序有哪些
可以使用命令:fuser -kvm /mnt(此命令可以结束设备上运行的大多数进程)
此时就可以直接卸载
只读挂载:
mount -o ro /dev/vda1 /mnt
可以用mount命令查看系统中所有设备挂载信息
可以看到/dev/vda1是只读的
执行命令mount -o remount,rw /dev/vda1 /mnt
重新挂载/mnt上的/dev/vda1设备并激活读写参数
执行之后用mount看到/dev/vda1读写参数已经激活
4、磁盘分区
分区方式: 位数 分区表大小 支付分区个数 支持单个分区大小
legacy (MBR) 32 64byte 主分区4个 2.2TB
所有分区16个
+++++++++++++++++++++++++++++++++++++++++++++
UEFI (GPT)64 128bype 理论上无限制 8ZiB
windows 128
MBR分区方式
主分区
主分区表记录分区的信息并可以直接使用的分区
扩展分区
主分区表记录的分区
不可直接使用,只是逻辑分区容器
逻辑分区
扩展分区之上划分的分区叫做逻辑分区
分区方法
1 、fdick /dev/vdb
Command (m for help):m ##获得帮助
d ##删除
l ##列出所有分区类型
n ##新建
p ##显示分区表
t ##更改分区类型
w ##保存更改
q ##退出
g ##设定分区方式为GPT
o ##设定分区方式为mbr
默认的分区方式为MBR方式
设定为gpt的分区方式先输入g再输入p
装换为mbr分区方式先输入o再输入p
新建分区:
输入p显示出设备存在
当四个主分区出现,硬盘即使有容量也不能新建分区,之后删掉一个就可以继续建立
新建扩展分区,划分扩展分区时一定要把所有剩余容量都给扩展分区
因为扩展分区足够大时才能划分出更多的逻辑分区
新建逻辑分区:
之后输入wq才能保存设置内容,把内存中的内容同步到硬盘中。否则硬盘设置不会有任何改变
GPT的分区方式:
首先设置分区表
之后wq退出保存,再执行udevadm settle同步分区表到系统
之后可以看到分区已经存在
删除分区:
在fdisk /dev/adb界面输入d(当删除设备时一定是设备在系统中未被使用,否则系统很可能崩溃)
当分区删除之后也能看到一些分区数据标签
可以使用dd if=/dev/zero of=/dev/vdb bs=1M count=1
命令清掉分区表。这样分区标签就没有了
使用parted命令直接建立分区
parted /dev/vdb mklabel msdos ##设定分区方式为mbr
parted /dev/vdb mklabel gbt ##设定分区方式为gbt
parted /dev/vdb mkpart primary 1 100 ##设定主分区大小为100
parted /dev/vdb rm 1 ##删除第一个分区
设定分区方式为gbt
用parted的方式建立分区parted /dev/vdb mkpart primary 1 100
parted /dev/vdb rm 1
5、格式化设备并自动挂载
常用文件系统对比
文件系统:FAT16 FAT32 NTFS EXT3 EXT4 XFS
最大卷: 2GB 4GB 256TB 32TB 1EB 16EB
最大单个文件 4GB 8TB 16TB 2TB 16TB 8EB
最大文件个数 65536 4177920 4294967295 32000个子目录 无限子目录
代表系统 DOS Win95 Win98 Win2000以后 RHEL5 RHEL6 RHEL7~
格式化文件系统
mkfs.xfs /dev/vdb
mkfs.xfs /dev/vdb -f ##如果文件中有数据要加-f参数
格式化之后就可以挂载mount /dev/vdb /mnt
以上挂载都是临时挂载开机自动删除
设置设备永久挂载
vim /etc/fstab ##设备挂载策略文件
设备:/dev/vdb
挂载点:/mnt
文件系统类型:xfs
挂载参数:defaults
是否备份:0
是否检测:0
mount -a ##重新读取/etc/fstab文件
当文件内容书写有问题会导致系统启动失败
之后可以使用mount -a
让没有生效的策略立即生效
6、设备的配额设定
1、mount -o usrquota /dev/vdb /mnt ##激活磁盘配额
2、edquota -u lee ##设定用户lee配额
3、quotaon -uv /dev/vdb ##激活配额
设备 用户已创建数据 软限 硬限 已经创建文件个数 软限 硬限
Disk quotas for user lee (uid 1001):
Filesystem blocks soft hard inodes soft hard
/dev/vdb 0 0 51200 0 0 0
##lee用户能在/dev/vdb磁盘写入的数据大小不能超过50M
1、激活磁盘配额
设定用户lee配额使用命令edquota -u lee
使用命令du -sh leefile ##可以看到写入文件的内容不超过50M
使用dd if=/dev/zero of=/mnt/leefile bs=1M count=45截取数据
当截取50M以上就会报错
永久设定配额
vim /etc/fstab
在/etc/fstab文件添加参数usrquota开机自动激活配额
关闭配额只要在/etc/fstab文件中删除写入的文件然后卸载/mnt
7、设备中文件的查找
find -name
-user
-group
-type f d s b l
-perm 222 /222 -222 ##222表示权限是--w--w--w的 /222表示出现一个可读就可以选择(或者)-222表示必须全部满足可读(并且)
-exec ##对查找出来的文件进行处理
-maxdepth 1
-mindepth 1
-cmin 1 -1 +1
-size +| -| 1M
-o
-a
-not
find /etc/ -name passwd
find /etc/ -maxdepth 1 -name passwd
find /etc/ -maxdepth 2 -name passwd
find /etc/ -maxdepth 2 -mindepth 2 -name passwd
find /mnt -user westos
find /mnt -not -user westos
find /mnt -user westos -o user lee
设置实验条件
用文件名查找:find /mnt -name westosfile1
以用户查找find /mnt -user root
查找用户不是root或者组是lee
显示1分钟内被显示的文件
用容量对文件进行查找
权限查找
用exec参数对查找出来的内容进行处理
8.swap分区
作用: 程序在运行时所有数据是在RAM
当RAM使用量超过了限额
为了使系统更加稳定
在硬盘上划分一部分空间来作内存缓冲区swap
swap分区大小建议:
内存大小:2GiB以下 2-8GiB 8-64GiB
swap分区建议大小:内存两倍 等于物理内存 4GiB 4GiB
当允许HIBERNATE :内存3倍 物理内存2倍 1.5倍物理内存 HIBERNATE不开
swap管理
swapon -s
创建swap分区
创建分区并设定分区的类型为Linuxswap
mkswap /dev/vdb1