一、系统中磁盘的管理

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/

  COMMAND  PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
  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   ## 参数分别为:设备  挂载点  文件系统  挂载参数  是否备份  是否检测

  3)测试

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下设备的基本管理的更多相关文章

  1. 【Linux】Linux下设备网卡以及硬件管理等

    这是Linux下网络硬件管理的基础知识,虽然平时用到的可能比软件的少一点,但是作为基础命令,还是需要记住,以免用时又得查询. 本文参考官方文档:https://wiki.ubuntu.com.cn/% ...

  2. linux下串口通信与管理

    linux下的串口与windows有一些区别,下面将介绍一下linux下串口通信管理 查看是否支持USB串口: #lsmod | grep usbserial 如果没有信息:sudo apt-get ...

  3. linux下玩转磁盘管理与挂载硬盘

    前言 本文将带来linux下的磁盘管理中的硬盘挂载,Linux操作系统挂载硬盘需要了解的一些知识.这可能是迄今为止介绍的最最最实用的linux硬盘挂载的文章了,比较详细.由于工作原因,平时使用的比较多 ...

  4. Linux下用户和组管理

    用户与组之间的关系是,组下面有若干个用户,每个用户必须从属于唯一一个组.组可以理解为权限的集合.用户管理的命令有:useradd, userdel, usermod, passwd, chsh, ch ...

  5. linux 下mysql服务的管理

    一.mysql服务的管理 1.1 mysql启动与关闭 linux下启动mysql: /etc/init.d/mysqld start 关闭进程: ps -ef | grep mysql 找到进程号 ...

  6. Android和Linux下设备节点的创建笔记

    1. Linux kernel创建的/dev/下的设备节点是不对的, 其实是kernel仅负责在/sys/(基于内存的虚拟文件系统)创建一大堆下目录和文件,而真正的设备节点是在用户空间程序创建的,应该 ...

  7. Linux下,使用Git管理 dotfiles(配置文件)

    1.管理你的 dotfiles 作为一个计算机深度使用者,并且长期使用 Linux 作为主要操作系统,折腾各种功能强大的软件是常有的事儿.这些软件有它们各自的配置文件,通常以 . 开头,因此有人管它们 ...

  8. linux下用户以及用户组管理

    /etc/passwd ‘/etc/passwd’ 由 ‘:’ 分割成7个字段,每个字段的具体含义是: 1)用户名.用户名字符可以是大小写字母.数字.减号(不能出现在首位).点以及下划线,其他字符不合 ...

  9. Linux下KVM虚拟机基本管理及常用命令(转)

    说明:可能有重复 一.KVM的基本管理 1.查看KVM虚拟机配置文件 #Kvm虚拟机默认配置文件位置 [root@kvm qemu]# pwd /etc/libvirt/qemu [root@kvm ...

随机推荐

  1. HttpWebRequest 返回BadRequest(400) 同时返回Response

    今天用Fiddler分析安卓APP的一个登陆功能的时候,账号和密码错误会返回相应的消息,并且状态码是400. 正常用法: /// <summary> /// 读取返回的内容 /// < ...

  2. JS正则表达式从入门到入土(7)—— 分组

    分组 在使用正则的时候,有时候会想要匹配一串字符串连续出现多次的情况,比如:我想匹配字符串Byron连续出现3次的情况. 有些人会直接写: Byron{3} 但是,这种情况仅仅会匹配Byro加上三个n ...

  3. FFmpeg 入门(4):线程分治

    本文转自:FFmpeg 入门(4):线程分治 | www.samirchen.com 概览 上一节教程中,我们使用 SDL 的音频相关的函数来支持音频播放.SDL 起了一个线程来在需要音频数据的时候去 ...

  4. wix toolset将 cab 打包进msi

    在***wxs中添加配置 <MediaTemplate EmbedCab="yes" /> 下面是一个简单配置:(包含写注册表) <?xml version=&q ...

  5. 什么时候使用namespace

    #include<iostream.h> 不用using namespace std; #include<iostream>要用using namespace std;

  6. 【读书笔记】《深入浅出nodejs》第五章 内存控制

    海量请求+长时间运行 -> 内存控制 -> 一切资源高效循环利用 1. V8的垃圾回收机制与内存限制 在Node中通过JavaScript使用内存时,只能使用部分内存(64位系统下约1.4 ...

  7. 记数排序 & 桶排序 & 基数排序

    为什么要写这样滴一篇博客捏...因为一个新初一问了一道水题,结果就莫名其妙引起了战斗. 然后突然发现之前理解的桶排序并不是真正的桶排序,所以写一篇来区别下这三个十分相似的排序辣. 老年菜兔的觉醒!!! ...

  8. 复习指南(Pascal版)

    [第一层级 条件反射] 1.个十百千各数位的求法 q:=a div 1000 mod 10; b:=a div 100 mod 10; s:=a div 10 mod 10; g:=a mod 10; ...

  9. 测试mysql

    sysbench 测试mysql TODO emacs

  10. CALL_AND_RETRY_LAST Allocation failed node打包报错

    全局安装increase-memory-limit: npm install -g increase-memory-limit 进入工程目录,执行: increase-memory-limit