MBR和GPT
MBR:第一个扇区固定保存MBR分区的分区表,且只有64字节,最多只能把硬盘分为4个主分区
优点:简单,支持度高
缺点:不能识别大于2T的硬盘,也不能有大于2T的分区
GPT:没有主分区数量的限制,最大可以支持18EB,使用GPT需要三个条件
UEFI主板、硬盘使用GPT分区,操作系统支持GPT分区
必须使用64位系统
UEFI仅支持GPT模式启动,最近的主板基本都采用UEFI+BIOS共存的模式,并且BIOS中集成UEFI启动项
比如:RHEL CentOS 4.X 5.X版本的系统盘,只支持MBR模式启动
parted工具
fdisk无法对GPT格式磁盘进行分区,因为fdisk只能划分小于2T的磁盘
输入parted进入交互模式
mklabel gpt 创建分区表,使用msdos还是gpt
mkpart 创建新分区mkpart <分区类型> [文件系统格式]<起始位置> <结束为止>
分区类型有primary主分区、extended扩展分区、logical逻辑分区
例: mkpart primary 0gb 10gb ——创建一个10G的分区print 输出分区信息,同p
rm 删除分区,分区号
select 有多快设备的情况下,选择要分区的设备
extundelete反删除工具
常用的数据恢复工具有debugfs、ext3grep、extundelete
比较常用的有ext3grep extundelete恢复原理基本一致
extundelete支持恢复ext3和ext4文件系统的数据
恢复原理
通过文件系统的inode信息,获得文件系统下所有文件的信息,利用inode结合日志查询inode所在block的位置
通过dd将信息备份出来,从而恢复文件
常用选项
1.--restore-inode ino
表示恢复节点ino的文件,恢复的文件会放在当前目录的RESTORED_FILES文件夹中
2.--restore-file path
表示恢复指定路径的文件,位置同上
3.--restore-files path
恢复在路径中已列出的所有文件(目录)
4.--restore-all
表示尝试恢复所有目录和文件
恢复过程
1.发现误删除后,需要首先卸载分区,避免持续写入,覆盖掉原本的位置
2.查看根分区的inode:ls -id /
centos6是2,7是64
3.扫描目录下的文件,从根分区开始扫描extundelete /dev/sda1 --inode 2
4.找到被删除的文件,查看对应文件的信息extundelete /dev/sda1 --inode xxx
5.恢复文件
(1)恢复单个文件extundelete /dev/sda1 --restore-file 文件名
(2)恢复相对目录下的文件extundelete /dev/sda1 --restore-file 目录名/文件名
(3)恢复目录extundelete /dev/sda1 --restore-directory conf (4)恢复所有
extundelete /dev/sda1 –restore-all
buffers和cached的区别
buffers是缓冲,表示块设备占用的缓存页
包括直接读写块设备、文件系统元数据所使用的缓存页
cached表示普通文件所占用的缓存页
即一般的缓存,如果重复读取就不需要再读硬盘
释放缓存sync
首先需要将未写的缓冲区写到磁盘中echo 1 > /proc/sys/vm/drop_caches
释放缓存页echo 2 > /proc/sys/vm/drop_caches
释放文件节点缓存和目录项缓存echo 3 > /proc/sys/vm/drop_caches
释放上面这两种所有开支
swap交换空间
创建swap空间dd if=/dev/zero of=/data/swapfile bs=2M count=1024
创建一个2G的全0文件mkswap /data/swapfile
指定作为swap的设备或文件/usr/sbin/swapcon /data/swapfile
激活swap
swap优化(redis)
主要是一个swappiness的值,默认为60,指内存使用到40%时开始出现交换分区的使用cat /proc/sys/vm/swappiness
调整方法:echo 10 > /proc/sys/vm/swappiness
echo vm.swappiness=10 > /etc/sysctl.conf