您的位置:首页 > 运维架构 > Linux

Linux磁盘管理

2017-12-05 16:53 225 查看

磁盘分区

fdisk : MRB分区工具

用法:

fdisk -l : 列出所有设备信息

fdisk /dev/sdb : 管理sdb磁盘

fdisk 命令:
p :查看分区列表
t :更改分区类型
n :创建新分区
d :删除分区
v :校验分区
u : 转换单位;cylinder:柱面;sector:扇区
w :保存更改并退出
q :不保存退出

gdisk : GPT分区工具,用法与fdisk基本一致

parted : 高级分区操作(操作实时生效)

用法:
parted [选项]... [设备 [命令 [参数]...]...]
parted /dev/Device mklabel gpt | msdos : 改变磁盘类型为GPT或MBR
parted /dev/Device print :显示磁盘分区信息
parted /dev/Device mkpart primary 1 1000 : 创建分区 1 为分区号;1000为分区大小(默认为M)
parted /dev/Device rm 1 : 删除第一个分区
parted -l : 列出所有设备信息

查看内核是否识别了新分区:

cat /proc/partitions


通知内核重新读取硬盘分区表:

CentOS 6 :

新增分区时:
partx -a /dev/Device

删除分区时:
partx -d --nr M-N /dev/Device

CentOS 7 :
partprobe

mke2fs: ext系列文件系统专用管理工具

配置文件:/etc/mke2fs.conf

选项:
-t :指定文件系统类型 {ext2 | ext3 | ext4}
-j :相当于 -t ext3
mkfs.ext3 = mkfs -t ext3 = mke2fs -j = mke2fs -t ext3
-L label : 指定卷标,
-b{1024|2028|4096} :指定块大小
-i n :n个字节给指定一个indone
-N n : 直接指定创建多少个indone
-I n :指定inode大小
-m n :预留给管理员的空间百分比,默认为5%
-O :指定分区特性

e2label /dev/DEVICE :查看卷标

</br>

e2label /dev/DEVICE Label  直接更改卷标

</br>

blkid : 查看UUID和TYPE

</br>

dumpe2fs :查看超级块和是否有碎片

-h :仅显示超级块中保存的信息


tune2fs:调整ext文件系统的参数信息

-l  : 查看超级块中的信息
-L : 修改卷标
-m :预留管理员的空间百分比
-j  :如果原来的文件系统为ext2,-j 能够将其提升为ext3
-o :[^]mount-options[,...] 指定默认挂载选项
-O :[^]feature[,...] 调整分区特性
tune2fs -o 挂载选项 设备
tune2fs -o ^设备选项 取消


文件系统检测:

fsck:
-t : 文件类型 设备
-f : 强行检测
-a : 自动修复错误
-r : 交互式修复错误

e2fsck : ext系列文件系统专用的检测修复工具
-y :自动回答为yes
-f :强行检测

挂载和取消挂载:

查看内核追踪到的已挂载的所有设备:
cat /proc/mounts

挂载命令:mount

mount : 通过查看/etc/fstab文件显示当前以挂载的设备

mount [options] -o [option] -t 文件类型  设备  挂载目录
设备:
(1)设备文件:例如/dev/sr0,/dev/sdb1
(2)卷标:-L '卷标名'
(3)UUID:-U 'UUID'
(4)伪文件系统名称:proc,sysfs
挂载目录:
(1)必须事先存在,尽量使用空目录


选项:

-t   :指定要挂载设备的文件系统类型
-r   :readonly,只读挂载
-w  :读写挂载
-n   :不更新/etc/mtab,mount不可见
-a   :自动挂载所有支持自动挂载的设备(设备定义在了/etc/fstab文件中)
-L   :以卷标名来指定要挂载的设备
-U  :以UUID来指定要挂载的设备
-B,--bind :绑定目录到另一个目录上(相当于软链接)
-o [options]  :(挂载文件系统的选项),多个选项用逗号分隔
async :异步模式,内存更改时,先保存至buffers中,稍后写入磁盘
sync : 同步模式,内存更改时,同时写入磁盘
atime/noatime :是否刷新atime,包含目录和文件(常用于web服务的网页文件)
diratime/nodiratime :是否刷新目录的atime
exec/noexec :是否禁止设备上的可执行文件的执行权限
auto/noauto :是否支持自动挂载,是否支持-a选项
dev/nodev :是否支持在此文件系统上使用设备文件
suid/nosuid :是否支持suid和sgid权限
remount :重新挂载
ro :只读
rw :可读可写
user/nouser :是否允许普通用户挂载此设备,/etc/fstab使用
acl :启用此文件系统上的acl功能
loop :使用loop设备(loop:通俗来讲就是把文件当设备使用,例如:windows的分页文件)
default :相当于rw,suid,dev,exec,auto,nouser,async


卸载:

查看挂载情况:
findmnt mount_dir | 设备
例:findmnt /mnt | /etc/sda1

查看正在访问指定文件系统的进程:
lsof mount_dir
fuser -v mount_dir

终止所有在正访问指定的文件系统的进程:
fuser -km mount_dir

卸载/取消挂载:
umount DEVICE
umount mount_dir

/etc/fstab配置文件 :

/etc/fstab每行定义一个要挂载的文件系统。

UUID=9a1b8ed1-ae7c-4391-98ea-a33ebd18fa7c   /mnt  xfs   defaults  0  0
设备文件    挂载点   文件系统类型    挂载选项    转储频率   自检次序
<br>

设备文件:
  LABEL:LABEL=""
  UUID:UUID=""

伪文件系统名称:proc, sysfs

挂载点:如:/mnt

文件系统类型:xfs,ext4...

挂载选项:
  default :相当于rw,suid,dev,exec,auto,nouser,async

转储频率:
  0:不做备份
  1:每天转储
  2:每隔一天转储

自检次序:
  0:不自检
  1:首先自检;一般只有rootfs才用1

交换分区:swap

交换分区时系统RAM的补充,与windows的分页文件同理

swap优先级:

手动指定:0-32767的优先级,值越大优先级越高

系统默认:从-1开始,添加新的swap时优先级减一(默认的优先级永远是负数)

设置swap:
  (1)创建交换分区或者文件
  (2)使用mkswap写入特殊签名
  (3)在/etc/fstab添加相关条目
  (4)使用swapon -a 激活交换空间

启用swap命令:swapon
swap [option]...[device]
-a :激活所有的交换分区
-p :指定优先级
在/etc/fstab文件中指定:pri=var

禁用:swapoff

工具dd:

dd if=file  of=file  bs=n  count=n
if=file :从某个文件读取数据
of=file :输出到某个文件
bs=size : block size,指定块大小(ibs=obs)
ibs=size :一次读取size个byte
obs=size :一次写size个byte
cbs=size :一次转化size个byte
skip=blocks :从开头忽略blocks个ibs大小的块
seek=blocks :从开头忽略blocks个obs大小的块
count : 复制多少个bs
conv=onversion... :用指定参数转换文件
转换参数:
ascii :转换ebcdic码为ascii
ebcdic :转换ascii为ebcdic
lcase :把大写字符转换为小写
ucase :把小写转换为大写
nocreat :不创建输出文件
noerror :出错时不停止
notrunc :不截短输出文件
sync :把输入块填充到ibs个字节,不足的部分用空(NUL)字符补齐


示例:

备份MBR:
dd if=/dev/sda of=/root/mbr.bak bs=512 count=1

破坏MBR中的bootloader:
dd if=/dev/zero of=/dev/sda bs=64 count=1 seek=446

备份磁盘:

将sda整盘备份到sdc:
dd if=/dev/sda of=/dev/sdc

将sda的数据备份到文件中:
dd if=/dev/sda of=file

备份sda全盘数据并压缩:
dd if=/dev/sda | gzip >file.gz

将压缩的备份文件恢复到sdc:
gzip -dc file.gz |dd of=/dev/sdc

销毁磁盘数据:
dd if=/dev/urandom of=/dev/sda
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Linux 磁盘管理 mount