Linux存储的基本管理
实验环境
新添加一块80G的SATA硬盘
一 设备识别
-
设备接入系统后都是以文件的形式存在
-
设备文件名称:
/SATA/SAS/USB /dev/sda,/dev/sdb
#s= SATA,d=DISK a=第几块
IDE /dev/hd0,/dev/hd1
#h= hard
VIRTIO-BLOCK /dev/vda,/dev/vdb #v=virtio
M2(SSD) /dev/nvme0,/dev/nvme1 #nvme=m2
SD/MMC/EMMC(卡) /dev/nmcblk0,/dev/nmcblk1 #nmcblk=nmc卡
光驱 /dev/cdrom,/dev/sr0,/dev/sr1 -
设备查看
【1】df 查看已经挂载的设备
【2】df -h 带单位,是以2^n次方计算大小
【3】df -H 带单位,以10^n计算大小
【4】lsblk #查看设备使用情况
【5】blkid #查看设备id及管理方式
【6】cat /proc/partitions #查看系统已经识别的设备
【7】fdsik -l #查看硬盘信息(最真实的),查看磁盘分区情况
二 设备挂载
在系统中有设备id的设备是可以被系统使用的
挂载命令:
(1)设备临时挂载
mount -o 挂载参数 device 挂载点
umount 设备|挂载点 #当设备卸载后/boot将无法读取卸载的设备
- 如果卸载的设备正在被程序使用,会提示busy,无法完成卸载
fuser -vm /mnt/ #查看设备上运行的程序
可以用kill -9 /mnt 结束
fuser -kvm /mnt/ #结束设备上运行的大多数进程
mount -o ro /dev/vd1 /mnt/ #表示只读挂载
mount #查看系统当中所有挂在信息
mount -o remount,rw 挂载点 #表示重新挂在挂在点,并激活读写参数
(2)设备永久挂载
分区方式 | 位数 | 分区表大小 | 支持分区个数 | 支持单个分区大小 |
---|---|---|---|---|
统分区方式(MBR) | 32位 | 64个 | 主分区4个,所有分区16个 | 2.2TB |
UEFI(GPT) | 64位 | 128个 | 理论上无限制(windows下128个) | 8ZB |
- MBR分区方式:
主分区:主分区表记录分区的信息并可以直接使用的分区
扩展分区:主分区表记录的分区,不可直接使用,只是逻辑分区容器
逻辑分区:扩展分区之上划分的分区叫做逻辑分区
三 fdisk分区
【1】进入分区命令:fdisk /dev/sda
【2】内部输入参数含义
m 获得帮助
d 删除
l 列出所有分区类型
n 新建
p 显示分区表
t 更改分区类型
w 保存
q 退出
【3】建立分区过程:
四 parted分区
- 清理磁盘:dd if=/dev/zero of=/dev/vdb bs=1M count=1
- 相关命令:
- parted -l 查看分区
- parted /dev/vdb help 寻求帮助
- parted /dev/vdb mklabel msdos 设定类型为msdos
- parted -l
- parted /dev/vdb mkpart primary 1 10 设定始末
- partprobe 同步分区表
- fdisk -l
- parted /dev/vdb rm 1 删除分区
- fdisk -l
五 SWAP分区
- 作用:
- 程序在运行时所有数据是在RAM。
- 当RAM超过了限额,为了使系统更加稳定,我们在硬盘上划分一部分空间来作内存缓冲区swap。
- 当内存使用超过限额,内核会把内存中闲置的数据存放到swap中。
- 当程序需要swap分区中的数据时,内核将swap分区中的数据再交还给内存进程处理。
- swap分区大小建议:
内存大小 | swap分区建议大小 | 当允许HIBERNATE |
---|---|---|
2GiB以下 | 内存两倍 | 内存3倍 |
2-8GiB | 等于物理内存 | 物理内存2倍 |
8-64GiB | 4GiB | 1.5倍内存 |
64GiB以上 | 4GiB | HIBERNATE不开 |
- swap管理:swapon -s 查看swap分区信息
- 创建swap分区:
(1)fdisk /dev/vdb
(2)o
(3)n
(4)+2G
(5)p
(6)t
(7)82
swap分区创建成功
-
设定新建分区优先级:
-
临时设定:
(1)mkswap /dev/vdb1 格式化设备为swap分区
(2)swapon /dev/vdb1 启用swap分区
(3)swapon -s
(4)swapoff /dev/vdb1 禁用swap分区
(5)swapon /dev/vdb -p 1 指定优先级(范围位:0-32767)
(6)swapon -s -
永久设定:
(1)vim /etc/fstab
(2)/dev/vdb1 swap swap defaults,pri=1 0 0
(3)swapon -a 启用swap分区 -
删除swap:
(1)vim /etc/fstab
(2)/dev/vdb1 swap swap defaults,pri=1 0 0 删除此行
(3)swapoff /dev/vdb1
六 磁盘配额
【1】磁盘配额作用
设定用户能写入指定设备的最大额度。
【2】磁盘配额设定方法
Device | Boot Start | End | Sectors | Size | Id | Type |
---|---|---|---|---|---|---|
/dev/vdb1 | 2048 | 206847 | 204800 | 100M | 83 | Linux |
-
格式化:mkfs.xfs /dev/vdb1
-
针对每个用户进行配额:
-
后挂载影响文件本身权限:
(1)ls -ld /westos 查看/westos目录权限
(2)chmod 1777 /westos 设定权限
(3)ls -ld /westos
(4)mount /dev/vdb1 /westos 挂载
(5)df
(6)ls -ld /westos 权限改变
(7)umount /westos 取消挂载 -
临时设定配额:
(1)挂载设备并激活配额参数
(2)mount /dev/vdb1 /westos -o usrquota 先挂载
(3)chmod 1777 /westos 设定权限
(4)ls -ld /westos 查看权限
(5)激活配额,-u开启用户配额,-v显示过程
(6)quotaon -uv /dev/vdb1
(7)设定用户配额额度
(8)edquota -u westos
(9)设定westos用户的限额为20M -
测试:
(1)su - westos
(2)dd if=/dev/zero of=/westos/westosfile bs=1M count=1/20 ok!
(3)dd if=/dev/zero of=/westos/westosfile bs=1M count=21 NO! -
永久设定配额:
vim /etc/fstab
/dev/vdb1 /westos xfs defaults,usrquota 0 0 -
关闭配额:
vim /etc/fstab
/dev/vdb1 /westos xfs defaults,usrquota 0 0 删除此行
quotaoff -uv /dev/vdb1