Linux学习日志_系统分区管理

标签: 管理  磁盘  文件系统

Linux学习日志_系统分区管理

Q:为什么要分区?
方便管理,方便数据恢复
分区和文件系统
系统分区概念:开机启动硬盘记录在主版信息上,硬盘有磁道和磁头(磁头损坏后无法使用),引导程序446m 系统分区记录mpt60m 设备标示2m
1.对设备的查看

disk适用于管理磁盘分区的命令
fdisk -l 对磁盘进行扫描 查看设备(真实存在的)
cat /proc/partitions 查看设备信息(真实存在的被系统识别的)

这里写图片描述
blkid 被系统利用的设备(真实存在的被系统发现后被利用)
这里写图片描述
df 被系统挂载的设备(真实存在的被系统发现后被利用再被挂载)
这里写图片描述

df -h 统计方式为2的n次方
df -H 统计方式为10的n次方(所以数字会大)
/dev/sda        s=sata(串口硬盘)    d=disk  a=a
/dev/sda1   第一块硬盘下的第一个分区
/dev/sdb2   第2块硬盘下的第2个分区
/dev/vda    虚拟机下的第一块硬盘
/dev/cdrom  光盘

2.硬盘(圆形扇区,0磁盘的512字节)
开机引导程序446字节,引导到c盘系统开启
new bootloder 重写446字节程序引导的对象
剩下的66字节中的64字节为mpt主引导分区的分区表
剩下2字节为55aa,硬盘的有效性标识(cpu,显卡等),使BIOS从硬盘启动

Q:64字节mpt中最多有多少个分区?
/dev/vdal后的*在哪里,启动分区就在哪里
一个分区要16个字节,但最多并不是4个分区
原因在于分好3个区(主分区)之后做一个容器(扩展分区),
在容器中加入更多的分区,容器中记录其他分区
(扩展分区信息主分区记录,其中的逻辑分区信息由扩展分区记录)
回答:硬盘的分区方式,用dd和h -C册出来共64字节,每个分区16字节
Linux中mbr分区方式主分区+逻辑分区最多可以划分16个分区(和系统有关windows24个)—>16进制字母不够用
3.划分磁盘分区
(1)fdisk -l查看磁盘
这里写图片描述
(2)fdisk /dev/vdb //进入分区设置界面
这里写图片描述
(3)n进入添加分区后p为主分区,e为扩展分区
这里写图片描述
(4)p操作后wq从内存中保存
(5)cat /proc/partitions 查看,此时是无法使用的,需要进行设置
!!first sector 为创建分区的起始点,第一个默认为2048,如果从30000开始,那么2048到30000这一段将永远无法使用
Last sector为分区的结束点位,用+100K/M/G设置
这里写图片描述
fdisk /var/vdb进入分区管理界面
Command action

d //删除分区
n //新建分区
p //显示分区信息
q //不保存退出
wq //保存退出
t //修改分区id
w //将当前操作写入硬盘分区表

4.文件系统
Linux中使用ext和xfs ext最多支持32TB xfs分区最多支持8eb-1byte
windows中使用ntfs和fat fat对多支持2GB
!!!!传输速度由软件和硬件共同限定
mkfs.命令
mkfs.xfs /dev/vdb1 ##格式化设备,并在设备上安装文件系统xfs
!!!必须进行格式化才可以进行挂在
mount挂载

mount /dev/vdb1 /mnt    挂在设备,使设备投入使用    
    mount -o     功能 **设备上的某项功能
    mount -o remount.ro /mnt/   在设备不卸载的情况下更改挂载参数
    mount -o noatime /mnt/  记录设备挂载时的时间,并在后续操作中不更改
        stat file查看
umount卸载(设备正忙时无法卸载---> lsof /挂载点地址/  查看)eg:lsof /mnt/
df查看挂载点
umount /dev/vdb5或者/mnt 删除挂载前后2个都行

卸载中出现问题—>[eg:在一个终端cd /mnt 在另一个终端中卸载会报busy的错误]
lsof /mnt/ ##查看/mnt/目录下的进程信息
这里写图片描述
fuser -vm /mnt/ ##进程发现的方式
这里写图片描述
stat /mnt/file 查看文件详细信息
kill -9 pid ##进程终止的方式

5.swap分区
创建—

    fdisk /dev/vdb          创建swap分区 -a** -s显示 mount -a执行编辑的文件
    -t
    L查看说明
    82选择转换为swap方式
    -p查看
    wq保存

这里写图片描述
partprobe 同步分区表
mkswap /dev/vd26格式化分区
!!dos分区方式最高支持2TB
swap分区不需要mount挂载方式
swapon -s 显示swap分区
swapon -a /dev/vdb2 **swap分区
swapon -s 显示swap分区
这里写图片描述
!!命令都是临时的若永久则写入设备中(已被格式化)
vim /etc/fstab 编辑分区文件
/dev/vdb5 /mnt xfs defaults 0 0
/dev/vdb6 swap swap defaults 0 0
!!! 0 0代表不备份和不被检测
swapon -a **swap
swapon -s 查看swap
mount -a 使fstab文件中**

6.转换分区方式
fdisk -l 查看当前分区方式
df 查看当前挂载
umount /mnt/ 卸载挂载
swapoff /dev/vdb6 卸载挂载
swapon -s 查看是否卸载
fdisk -l 查看当前分区方式 —>dos分区方式
partprobe 同步分区表
parted /dev/vdb 改变当前分区方式
mklabel //按两次tab出现注释 改变当前的分区方式
gpt 更改为gpt格式
yes
这里写图片描述
!!!!!转换后会丢失所有的数据gpt最高支持128个分区,不分主分区和扩展分区
最高支持128eb
fxm文件系统最高支持8eb
!!!!!挂载设备后再进行权限修改

7.设定配额的方式
fdisk /dev/vdb 创建分区
mkfs.xfs /dev/vdb2 格式化位xfs
mount -o usrquota,grpquota /dev/vdb1 /public更改挂载参数并挂载
mount /dev/vdb2 /public 挂载到/public
mount 查看挂载
edquota -u 用户名 编辑用户配额
第一个hard是不能超过的大小,第一个soft是软件的警告容量/超过后会有警告,第二个hard为创建文件的最大数量,第二个soft为超过数量时发出警告
最大额度 已存在文件大小 软限度(block) hard最大额度 indoes文件个数 软额度(studentfile)
这里写图片描述
vim /etc/fstab 编辑分区文件
/dev/vdb2 /public xfs usrquota,grpquota 0 0

8.磁盘加密
创建设备 fdisk /dev/vdb
表单同步 partprobe
设备加密 cryptsetup luksFormat /dev/vdb3
YES
这里写图片描述
这里写图片描述
!!!!此地方必须输入大写的YES否则需要重新设置
查看文件 ls -l /dev/mapper/
设备打开 cryptsetup open /dev/vdb3 westos //设备起的名字,开锁
查看文件 ls -l /dev/mapper/
这里写图片描述
对设备格式化mkfs.xfs /dev/mapper/westos
将设备挂起mount /dev/mapper/westos /mnt/
cd /mnt/
ls
创建文件 touch file{1..5}
cd
卸载 umount /mnt/
cd /mnt/ 此时因为已经被卸载,无法查看到建立的5个文件
关闭密码 cryptsetup close westos
查看文件 ls -l /dev/mapper/
挂起 mount /dev/mapper/westos /mnt/
mount /dev/vdb3 /mnt/
!!!此时因为有LUKS加密无法挂起
这里写图片描述
打开密码 cryptsetup open /dev/vdb3 test
挂载 mount /dev/mapper/text /mnt/
查看文件 ls -l /mnt/ 重新看到文件
!!!目前无法实现开机自动挂载(—>写到文件里)
vim /root/luksfile
2018westos
chomd 600 /root/luksfile
cryptsetup luksAddKey /dev/vdb3 /root/liksfile
2018westos
vim /etc/crypttab ##记录
westos /dev/vdb3 /root/luksfile
vim /etc/fstab
/dev/mapper/westos /mnt xfs defaults 0 0
检测:reboot重启后df查看

删除加密:
卸载设备 umount /mnt/
删除文件 vim /etc/fstab
关闭密码 cryptsetup close westos
删除文件 vim /etc/crypttab
删除密码 rm -fr /root/luksfile
格式化 mkfs.xfs /dev/vdb3 -f

9.磁盘阵列
(1)硬件实现—企业级raid卡实现
(2)软件实现—0 1 5
0代表一起读
1代表两块硬盘中都有完整的数据,读的时候一起读
5 0+1
fdisk /dev/vdb 创建
partprobe 同步分区表单
mdadm -C /dev/md0 -a yes -l 1 -n 2 -x 1 /dev/vdb{4..6}
-C —建立
-a —>添加
-l —>level级别
-n —>几个磁盘
-x —>几个闲置,坏了之后会立即顶替
这里写图片描述
mkfs.xfs /dev/vdb0 格式化
mount /dev/md0 /mnt 挂载
watch -n 1 ‘cat /proc/mdstat’

mdadm -D /dev/md0  查看设备当前使用状态
mdadm /dev/md0 -f /dev/vdb5 弄坏设备5
mdadm -D /dev/md0
mdadm /dev/md0 -r /dev/vdb5 删除设备5

这里写图片描述
mdadm /dev/md0 -a /dev/vdb5 添加新设备5
umount /mnt/ 卸载
mdadm -S /dev/md0 删除阵列
partprobe 同步分区表单
这里写图片描述

10.!!!安装Oracle时swap分区最少4GB
假若磁盘空间不够时,用文件的方式做swap(应急)
dd if=/dev/zero of=/swapfile bs=1M count=4000
这里写图片描述
du -sh /swapfile 查看
这里写图片描述
mkswap /swapfile 重启
vim etc/fstab 写入硬盘
/swapfile swap swap defaults 0 0
这里写图片描述
swapon -a **
swapon -s 查看
这里写图片描述
11.文件作swap分区
dd if=/dev/zero of=/swapfile bs=1M count=2G 截取系统中的空闲空间
mkswap /swapfile 格式化文件分区
vim /etc/fstab 编辑分区配置信息

版权声明:本文为zwhzwh0228原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/zwhzwh0228/article/details/79264408

智能推荐

RIP/DHCP/ACL综合实验

组播: 加入组的组成员才会接受到消息,只需要将流量发送一次到组播地址 减少控制面流量,减少头部复制, RIP1  广播   有类  不支持认证 RIP2  组播   无类  (支持VLAN)、支持认证 所有距离矢量路由协议:具有距离矢量特征的协议,都会在边界自动汇总 控制平面  路由的产生是控制平面的流量 数据平面  ...

【Sublime】使用 Sublime 工具时运行python文件

使用 Sublime 工具时报Decode error - output not utf-8解决办法   在菜单中tools中第四项编译系统 内最后一项增添新的编译系统 自动新建 Python.sublime-build文件,并添加"encoding":"cp936"这一行,保存即可 使用python2 则注释encoding改为utf-8 ctr...

java乐观锁和悲观锁最底层的实现

1. CAS实现的乐观锁 CAS(Compare And Swap 比较并且替换)是乐观锁的一种实现方式,是一种轻量级锁,JUC 中很多工具类的实现就是基于 CAS 的,也可以理解为自旋锁 JUC是指import java.util.concurrent下面的包, 比如:import java.util.concurrent.atomic.AtomicInteger; 最终实现是汇编指令:lock...

Python 中各种imread函数的区别与联系

  原博客:https://blog.csdn.net/renelian1572/article/details/78761278 最近一直在用python做图像处理相关的东西,被各种imread函数搞得很头疼,因此今天决定将这些imread总结一下,以免以后因此犯些愚蠢的错误。如果你正好也对此感到困惑可以看下这篇总结。当然,要了解具体的细节,还是应该 read the fuc...

用栈判断一个字符串是否平衡

注: (1)本文定义:左符号:‘(’、‘[’、‘{’…… 右符号:‘)’、‘]’、‘}’……. (2)所谓的字符串的符号平衡,是指字符串中的左符号与右符号对应且相等,如字符串中的如‘(&r...

猜你喜欢

JAVA环境变量配置

位置 计算机->属性->高级系统设置->环境变量 方式一 用户变量新建path 系统变量新建classpath 方式二 系统变量 新建JAVA_HOME,值为JDK路径 编辑path,前加 方式三 用户变量新建JAVA_HOME 此路径含lib、bin、jre等文件夹。后运行tomcat,eclipse等需此变量,故最好设。 用户变量编辑Path,前加 系统可在任何路径识别jav...

常用的伪类选择器

CSS选择器众多 CSS选择器及权重计算 最常用的莫过于类选择器,其它的相对用的就不会那么多了,当然属性选择器和为类选择器用的也会比较多,这里我们就常用的伪类选择器来讲一讲。 什么是伪类选择器? CSS伪类是用来添加一些选择器的特殊效果。 常用的为类选择器 状态伪类 我们中最常见的为类选择器就是a标签(链接)上的为类选择器。 当我们使用它们的时候,需要遵循一定的顺序问题,否则将可能出现bug 注意...

ButterKnife的使用介绍及原理探究(六)

前面分析了ButterKnife的源码,了解其实现原理,那么就将原理运用于实践吧。 github地址:       点击打开链接 一、自定义注解 这里为了便于理解,只提供BindView注解。 二、添加注解处理器 添加ViewInjectProcessor注解处理器,看代码, 这里分别实现了init、getSupportedAnnotationTypes、g...

1.写一个程序,提示输入两个字符串,然后进行比较,输出较小的字符串。考试复习题库1|要求:只能使用单字符比较操作。

1.写一个程序,提示输入两个字符串,然后进行比较,输出较小的字符串。 要求只能使用单字符比较操作。 参考代码: 实验结果截图:...

小demo:slideDown()实现二级菜单栏下拉效果

效果如下,鼠标经过显示隐藏的二级菜单栏 但是这样的时候会存在一个问题,就是鼠标快速不停移入移出会导致二级菜单栏闪屏现象,一般需要使用stop()来清除事件  ...