linux~如何管理系统磁盘

1:linux系统中的磁盘分类与如何识别?

#1.本地存储设备的查看:

command:fdisk -l ##真实存在的设备 (不一定是系统识别的)

command:cat /proc/partition ##系统识别的设备

command:blkid ##系统可使用的设备

command:df ##系统正在挂载的设备

2.设备的挂载和卸载

1.设备的识别

/dev/xdx ##硬盘设备/dev/sda1

/dev/cdrom ##光驱

/dev/mapper/* ##用软件模拟出的设备

/dev/hd0 ###并口硬盘

/dev/sda #####串口硬盘

2.设备的挂载
command:mount 设备 挂载点

mount /dev/sdb1 /mnt ###把系统中第二块硬盘的第一个分区挂载到/mnt目录上

umount /mnt| /dev/sdb1 ##卸载

mount -o ro /dev/sdb1 /mnt ##只读挂载

mount ##查看挂载信息

mount -o remount,rw /dev/sdb1 | /mnt ##重新读写挂载

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.在卸载时,如何解决设备正忙情况?
如:
command: umount /mnt/
报错:

umount: /mnt: target is busy. ##有程序在使用此设备
(In some cases useful info about processes that
the device is found by lsof(8) or fuser(1))

有两种解决方式:

方法1:
command:fuser -vm /mnt###设备|挂载点 -k kill ,-v显示详细信息,-m扫描设备

command:fuser -vm /mnt #查看/mnt谁在用
command:fuser -kvm /mnt #查看并结束(开一个shell进入mnt,在另一个shell里可以使用kill命令结束)
command:umount /mnt

方法2
command:lsof /mnt

lsof: WARNING: can’t stat() fuse.gvfsd-fuse file system
/run/user/1000/gvfs
Output information may be incomplete. COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME bash 25369 root cwd DIR 8,17
4096 2 /mnt
kill -9 25369 umount /mnt
##3.磁盘分区####

3:系统磁盘管理:

1:了解系统磁盘的基础信息:

在系统中,硬盘0磁道1扇区的512个字节中会记录的信息如下

512=446 + 64 + 2
^ ^ ^
mbr(主引导记录) mpt(主分区表) 55aa(硬盘的有效性标实)

2:硬盘分区的大小:
系统中1个分区占用16个字节,因此一块硬盘上最多可以划分4个主分区(包括3个主分区,一个扩展分区) 主分区(分区类型p);扩展分区(分区类型e)------>>>>逻辑分区。

3.磁盘怎么分区?

command:fdisk -l ###查看系统中存在的设备
command:fdisk /dev/vdb ###对 /dev/vdb进行分区
进入后,输入m获取帮助:

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 partition’s system id== ##修改分区功能id
u change display/entry units
v verify the partition table

w == write table to disk and exit== ##保存更改到分区表中

建立主分区
Command (m for help): n ##新建

Partition type:

p primary (0 primary, 0 extended, 4 free) ##分区类型为主分区
e extended ##分区类型为扩展分区
Select (default p): ##默认为主分区

Using default response p

Partition number (1-4, default 1): 1 ##主分区id

First sector (2048-20971519, default 2048): ##此分区起始位置

Using default value 2048

Last sector, +sectors or +size{K,M,G} (2048-20971519, default
20971519): +100M ##分区大小

Partition 1 of type Linux and of size 100 MiB is set

在这里插入图片描述
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: 0x193488c3
在这里插入图片描述
Command (m for help): wq###保存退出
在这里插入图片描述
系统已经有三个主分区后,划分扩展分区:
Command (m for help): n
Partition type:

p primary (3 primary, 0 extended, 1 free)
e extended
Select (default e): e ##划分扩展分区

Selected partition 4

First sector (3074048-20971519, default 3074048):

Using default value 3074048

Last sector, +sectors or +size{K,M,G} (3074048-20971519, default
20971519):

Using default value 20971519

Partition 4 of type Extended and of size 8.5 GiB is set

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: 0xb2cb6457

Device Boot Start End Blocks Id System
/dev/vdb1 2048 1026047 512000 83 Linux

/dev/vdb2 1026048 2050047 512000 83 Linux

/dev/vdb3 2050048 3074047 512000 83 Linux

/dev/vdb4 3074048 20971519 8948736 5
Extended ##把所有空间都给E

4.给设备安装文件系统(建立硬件物理设备和虚拟设备的连接)

ext3 rhel5及之前的版本 最多支持32TB的文件系统和2t文件,实际2tb文件系统,16G文件
ext4 rhel6 1EB 16TB
xfs rhel7 18EB 9eb 7G/s 4G/s
读取速度极限 写入速度极限

#硬件对硬件,软件对软件

command: mkfs.xfs /dev/vdb1 mount /dev/vdb1 /mnt ##格式化(当我们给磁盘分区后发现我们并不能对此设备挂在此时要给此设备格式化相当于给他赋予文件系统,此时便可以挂载)

设置开机自动挂载:

command:vim /etc/fstab

设备 挂载点 文件系统 挂载参数 是否备份 是否检测
/dev/vdb1 /mnt xfs defaults 0 0

command: mount -a###生效配置文件

#注:fstab比rc.local快,在硬件检测完,内核启动时就会挂载

5.swap分区管理
command:partprobe###同步分区表,在设备被使用的时候用(比如某个设备正在挂载)
设备正在使用时需用partprobe同步分区表

1)swap分区建立

划分分区并设定分区标签为82(具体方式类似于上面说的分区划分)
command:mkswap /dev/vdb1
command:swapon -a /dev/vdb1
command:swapon -s###列出swap分区设备
command:vim /etc/fstab

/dev/vdb6 swap swap defaults 0 0
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2)swap分区删除
command:vim /etc/fstab

command:swapoff /dev/vdb6
command:swapon -s

6.磁盘配额

先建立一个分区
command:mkfs.xfs /dev/vdb1 格式化(赋予文件系统)
command:mount -o usrquota /dev/vdb1 /mnt
command:mount

chmod 777 /mnt
要先挂设备,再改权限,权限是记录在设备里的
在这里插入图片描述
配额是针对与分区的。因为只有在vdb7中才会受到限制

如果此设备文件系统为xfs则不须以下两步:

{只有文件系统为ext时执行:

command:quotacheck -u /dev/vdb1
command:quotaon -u /dev/vdb1 }

command:edquota -u student 给student用户设置配额

在这里插入图片描述
配额针对设备

blocks 真实容量已存在的(更改里面的内容实际不会更改)
soft(容量警告)
hard(容量最大)
indodes(文件个数)
soft(有多少个警告)
hard (最多可以有多少个)
将里面的容量最大值改为(20480)此表明为最大容量为20M
su - student

dd if=/dev/zero of=/mnt/studentfile bs=1M count=20(没有超过20M最大量截取成功)

dd if=/dev/zero of=/mnt/studentfile bs=1M count=21(超过21M最大量截取不成功)

dd if=/dev/zero of=/mnt/studentfile bs=1M count=10
###从无限零设备截取数据到/mnt/studentfile 截取一块为1M的10块文件(即为10M)
在这里插入图片描述

开机自动激活配额
command:vim /etc/fstab

添加/dev/vdb1 /mnt/ xfs defaults,usrquota 0 0
在这里插入图片描述

7.磁盘的加密方式:

核心:在锁之上放文件系统

先新建一个分区
fdisk /dev/vdb
---->n----->p------>------>+1G----->p----->wq

partprobe

cryptsetup luksFormat
/dev/vdb1###(对此设备分区挂载加密,此时就不能对此设备挂载)------->YES-------->(密码)

mount /dev/vdb1 /mnt/ ###此时不能挂载

ls /dev/mapper/

cryptsetup open /dev/vdb1 westos ###打开加密分区设备为westos目录

ls /dev/mapper/ ###此时出现了westos

mkfs.xfs /dev/mapper/westos ###格式化

mount /dev/mapper/westos /mnt ###挂载在/mnt下

umount /mnt ###卸载

cryptsetup close westos
###关闭之后/dev/mapper/westos文件消失,挂载原始设备/dev/vdb1也不行,因为是luks加密的

ll /dev/mapper/

mount /dev/mapper/westos (dev/vdb) /mnt ###此时挂载不了

cryptsetup open /dev/vdb1 westos ### 解开(此时就可以挂载)

开机自动挂载加密分区

command:vim /root/diskpass

输入密码

command:chmod 600 /root/diskpass

command:vim /etc/crypttab

command:westos /dev/vdb1 /root/diskpass

command:vim /etc/fastab

command:/dev/mapper/westos /mnt xfs defaults 0 0

command:umount /mnt

command:reboot

command:cat /var/log/boot.log

command:df

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值