Linux下设备的基本管理
一、系统中磁盘的管理
1.本地存储设备的识别
fdisk -l ## 真实存在的设备(带*为启动分区)
cat /proc/partition ## 系统识别的设备
blkid ## 系统可使用的设备
df ## 系统正在挂载的设备
2.设备的挂载和卸载(设备的管理要用超级用户)
【1】设备名称
:
/dev/xdx ## /dev/hd0 /dev/hd1 /dev/sda /dev/sdb1 /dev/sda1(第一块硬盘下的第一个分区)
注意:hd是并口硬盘 sd为串口硬盘(广泛使用)
/dev/sr0 ## 光驱
/dev/mapper/* ##虚拟设别
【2】设备的挂载(默认是读写挂载)
mount 设备 挂载点 ## 挂载到固定的地方
mount /dev/sdb1 /mnt ## 挂载sdb1到mnt
umount /mnt | /dev/sdb1 ## 卸载
mount -o ro /dev/sdb1 /mnt/ ## 只读挂载
mount 查看挂载的信息
mount -o remount, rw /dev/sdb1 | /mnt/ ## 重新挂载以读写的方式
eject 弹出光驱
【3】解决设备正忙情况(一个shell在mnt目录下,另一个shell进行卸载时出现这个问题)
[root@foundation77 mnt]# umount /dev/sdb1
umount: /mnt: target is busy. ## 由程序在使用此设备
(In some cases useful info about processes that use
the device is found by lsof(8) or fuser(1))
解决方法一:fuser -kvm /mnt
umount /mnt
解决方法二:lsof /mnt
[root@localhost mnt]# lsof /mnt/
bash 1188 root cwd DIR 253,17 6 128 /mnt
lsof 3364 root cwd DIR 253,17 6 128 /mnt
lsof 3365 root cwd DIR 253,17 6 128 /mnt
kill -9 PID ## 结束进程的占用
umount /mnt
3.磁盘分区
【1】硬盘0磁道1扇区的512个字节中记录的信息如下:
512 = 446 + 64 + 2
446字节为 mbr(主引导记录)
64字节为mpt(主分区表)
2字节为55aa(硬盘的有效标示)
硬盘分区表:64字节
一个分区占16个字节
一块硬盘上最多可以划分4个主分区
【2】分区步骤:
fdisk -l ## 查看设备
fdisk /dev/vdb ## 对/dev/vdb进行操作
Command (m for help): m ## 查看命令操作信息
Command action
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 ## 保存分区表信息到硬盘
x extra functionality (experts only)
Command (m for help): n ## 建立一个主分区
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
Select (default p): p ## 主分区
Partition number (1-4, default 1): ## id默认
First sector (2048-20971519, default 2048): ## 分区起始位置
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-20971519, default 20971519): +500M ##分区大小
Partition 1 of type Linux and of size 500 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: 0x0362f010
Device Boot Start End Blocks Id System
/dev/vdb1 2048 1026047 512000 83 Linux
Command (m for help): wq
注意:当系统有三个主分区的时候,把剩下的所有空间划分为扩展分区 (
进行逻辑分区新建的时候,不提醒划分的类型,只能是逻辑分区)。
partprobe 同步分区表
cat /proc/partitions
问题1:对刚分区的设备vdb1进行挂载的时候,会提示以下信息
[root@server ~]# mount /dev/vdb1 /mnt/
mount: /dev/vdb1 is write-protected, mounting read-only
mount: unknown filesystem type '(null)'
注意:软件和硬件是不可以进行挂载的,只能在硬件上面安装软件filesystem (也叫格式化)
解决方法:给设备安装文件系统
1)系统文件有以下几种
ext3 rhel5及之前的版本 最多支持32TB的文件系统和2t文件,实际2tb文件系统,单个文件系统不超过16GB
ext4 rhel6 1EB 16TB
xfs rhel7 18EB 9eb 7G/s(吞吐极限) 4G/s(写入速度)
(系统中默认是xfs)
2)格式化成 xfs
mkdf.xfs /dev/vdb1 ## 格式化设备
/dev/vdb1
mount /dev/vdb1 /mnt ## 把设备挂载在/mnt上(临时的)
实现永久挂载:/etc/fstab(在硬盘检测之后,内核启动之后会进行加载)
vim /etc/fstab
/dev/vdb1 /mnt xfs defaults 0 0 ## 参数分别为:设备 挂载点 文件系统 挂载参数 是否备份 是否检测
mount -a ## 读取文件里的挂载策略,是没生效的挂载策略立即生效
df 进行查看
blkid ## 用blkid命令进行查看格式化后设备的链接情况
二、swap分区的管理为
1)建立:首先创建一个分区/dev/vdb2,修改类型为82!
partprobe ##同步分区表
mkswap /dev/vdb2 ##将/dev/vdb2格式化为swap格式
swapon -a /dev/vdb2
swapon -s ##显示swap分区的信息
vim /etc/fstab ---> /dev/vdb2 swap swap defaults 0 0 ##设置swap分区,使其开机自动分区
swapon -a
2)swap分区的删除
vim /etc/fstab --->删除里面SWP分区设置的那行
swapoff /dev/vdb6
swapon -s
三、fatab文件写错后的解决方法
步骤:
1)先输入超级用户密码
2)vim /etc/fstab
3)注释错误的那行
4)再输入密码
5)reboot
四、用户额度的设定
- 配额是针对与分区。用户可以使用的最大空间。(对于目录的权限,先挂设备再改权限)
- 临时设定步骤 :
1)mount -o usrquota /dev/vdb2 /public ## 把/dec/vdb2设备进行设定并挂载在/public上
2) chmod 777 /public
3) edquote -u student ## 对student 用户进行大小限定(其中blocks和inodes不能更改,并设定文件大小为20M)
- 永久设定步骤:
vim /etc/fstab
/dev/vdb2 /public xfs defaults,usrquota 0 0
- 用设定配额的用户进行测试:在student用户下
超过存储大小之后结果:
五、设备加密
意思说,首先对设备进行加密,然后对加密设备进行操作。
1)对设备进行LUKS加密
[root@localhost mnt]# blkid
/dev/vda1: UUID="9bf6b9f7-92ad-441b-848e-0257cbb883d1" TYPE="xfs"
/dev/vdb1: UUID="3134455c-5d33-4fbd-826d-a4123f78ba9d" TYPE="xfs"
/dev/vdb2: UUID="08d6ec47-da72-4e16-a901-86029b6e4772" TYPE="xfs"
/dev/vdb3: UUID="3cb27ea9-985c-45fa-9d37-a8ec2d5a58ae" TYPE="xfs"
/dev/vdb5: UUID="3053bd27-8051-4f9f-b8e5-b2740185bc13" TYPE="xfs"
[root@localhost mnt]# cryptsetup luksFormat /dev/vdb5 ## 对/dev/vdb5进行加密
WARNING!
========
This will overwrite data on /dev/vdb5 irrevocably.
Are you sure? (Type uppercase yes): YES
Enter passphrase:
Error reading passphrase from terminal.
Enter passphrase:
Verify passphrase:
2)要存文件时,对其解密
[root@localhost mnt]# cryptsetup open /dev/vdb5 westos ## 解密,解密设备为westos
Enter passphrase for /dev/vdb5:
[root@localhost mnt]# ll /dev/mapper/westos ## mapper虚拟设备,westos为/etc/vdb5解密后的形态
lrwxrwxrwx. 1 root root 7 Aug 3 10:49 /dev/mapper/westos -> ../dm-0
3)关闭westos设备,就不可以该设备进行操作
[root@localhost mnt]# cryptsetup close westos
[root@localhost mnt]# ll /dev/mapper/westos
ls: cannot access /dev/mapper/westos: No such file or directory
4)若想要进行操作,使用open 进行解密
[root@localhost mnt]# cryptsetup open /dev/vdb5 westos
注意:加密、解密要在无挂载的条件的下。
示例: cryptsetup luksFormat /dev/vdb5
cryptsetup open /dev/vdb5 westos
mkfs.xfs /dev/mapper/westos
mount /dev/mapper/westos /mnt/
touch /mnt/file{1..2}
umount /mnt/
cryptsetup close westos
cryptsetup open /dev/vdb5 west1
mount /dev/mapper/west1 /mnt/
Linux下设备的基本管理的更多相关文章
- 【Linux】Linux下设备网卡以及硬件管理等
这是Linux下网络硬件管理的基础知识,虽然平时用到的可能比软件的少一点,但是作为基础命令,还是需要记住,以免用时又得查询. 本文参考官方文档:https://wiki.ubuntu.com.cn/% ...
- linux下串口通信与管理
linux下的串口与windows有一些区别,下面将介绍一下linux下串口通信管理 查看是否支持USB串口: #lsmod | grep usbserial 如果没有信息:sudo apt-get ...
- linux下玩转磁盘管理与挂载硬盘
前言 本文将带来linux下的磁盘管理中的硬盘挂载,Linux操作系统挂载硬盘需要了解的一些知识.这可能是迄今为止介绍的最最最实用的linux硬盘挂载的文章了,比较详细.由于工作原因,平时使用的比较多 ...
- Linux下用户和组管理
用户与组之间的关系是,组下面有若干个用户,每个用户必须从属于唯一一个组.组可以理解为权限的集合.用户管理的命令有:useradd, userdel, usermod, passwd, chsh, ch ...
- linux 下mysql服务的管理
一.mysql服务的管理 1.1 mysql启动与关闭 linux下启动mysql: /etc/init.d/mysqld start 关闭进程: ps -ef | grep mysql 找到进程号 ...
- Android和Linux下设备节点的创建笔记
1. Linux kernel创建的/dev/下的设备节点是不对的, 其实是kernel仅负责在/sys/(基于内存的虚拟文件系统)创建一大堆下目录和文件,而真正的设备节点是在用户空间程序创建的,应该 ...
- Linux下,使用Git管理 dotfiles(配置文件)
1.管理你的 dotfiles 作为一个计算机深度使用者,并且长期使用 Linux 作为主要操作系统,折腾各种功能强大的软件是常有的事儿.这些软件有它们各自的配置文件,通常以 . 开头,因此有人管它们 ...
- linux下用户以及用户组管理
/etc/passwd ‘/etc/passwd’ 由 ‘:’ 分割成7个字段,每个字段的具体含义是: 1)用户名.用户名字符可以是大小写字母.数字.减号(不能出现在首位).点以及下划线,其他字符不合 ...
- Linux下KVM虚拟机基本管理及常用命令(转)
说明:可能有重复 一.KVM的基本管理 1.查看KVM虚拟机配置文件 #Kvm虚拟机默认配置文件位置 [root@kvm qemu]# pwd /etc/libvirt/qemu [root@kvm ...
随机推荐
- Django学习笔记之Queryset的高效使用
对象关系映射 (ORM) 使得与SQL数据库交互更为简单,不过也被认为效率不高,比原始的SQL要慢. 要有效的使用ORM,意味着需要多少要明白它是如何查询数据库的.本文我将重点介绍如何有效使用 Dja ...
- Java-性能调优-理解GC日志
[ ~]# cat gc.log.0 | grep 'Full GC' 1.652: [Full GC (System) 1.652: [CMS: 0K->21718K(262144K), 0. ...
- 20145216史婧瑶《Java程序设计》第3周学习总结
20145216 <Java程序设计>第3周学习总结 教材学习内容总结 第四章 认识对象 4.1 类与对象 •对象(Object):存在的具体实体,具有明确的状态和行为 •类(Class) ...
- 【转载】showModalDialog returnValue is undefined in Google Chrome
showModalDialog returnValue is undefined in Google Chrome Posted on August 22, 2012by briancaos For ...
- C#中将一个引用赋值null的作用
有类A,以及A类型的变量a和b.初始化a之后,将a赋给b.之后将a赋为null.之后b还是可以使用. 思维误区:本来以为a=null之后,b也应该等于null. 实际测试效果如下 class Prog ...
- 打开PS是出现“该内存不能为read”是怎么回事?
打开PS是出现“该内存不能为read”是怎么回事? 答:内存不能为read修复工具可以有效修复计算机运行应用程序时提示:该内存不能为read要终止程序的问题,一般XP系统才会出现这个问题. 指令修复法 ...
- LA 7272 Promotions(dfs)
https://vjudge.net/problem/UVALive-7272 题意: 公司要提拔人,现在有n个人,现在有m条有向边,A->B表示A的表现比B好,也就是如果B晋升了,那么A肯定会 ...
- canvas实现鼠标拖拽矩形移动改变大小
项目的一个新需求,动态生成矩形框,鼠标点击拖动改变矩形框的位置,并可以调整大小. 之前做过一个小demo,需求类似,但是在canvas内只有一个矩形框,拖动移动,当时记得是用isPointInPath ...
- [洛谷U62358]求导函数
U62358 求导函数 题面 给出一个n次函数\(f(x)=a_{n}x^{n}+a_{n-1}x^{n-1}+...+a_{1}x+a_0\)的各项系数\(a_n,a_{n-1}...a_1,a_0 ...
- 设计模式--建造者模式C++实现
建造者模式C++实现 1定义 将一个复杂对象的构建和他的表示分离,使得同样的构建过程可以创造不同的表示 注:在模板方法中,实现了父类调用子类方法的功能,且,通过钩子实现了方法的选择性调用.但是其中整体 ...