linux下卸载 dev sd*下硬盘,linux 磁盘管理

磁盘管理

Linux思想一切皆文件:

open(),read(),write(),close()

I/O 设备地址

设备类型:

块设备:block,存取单位“块”,磁盘 (随机访问)

字符设备:char,存取单位“字符”,键盘 (逻辑访问)

设备文件:关联至一个设备驱动程序,进而能够跟与之对应硬件设备进行通讯。

设备编号:

ll /dev/sda*

root disk 8.0

root disk 8.1

每一个设备都拥有一个主要号码,代表设备的类型,第二个是同一类型的唯一编号。

3c8ce6380daa33c267ccb0e2e66a02de.png

硬盘接口类型:

并行:

IDE:133MB/s (家用)

SCSI:640MB/s  (服务器)

串口:

SATA:6Gbps (家用)

SAS:6Gbps   (服务器)

USB:480MB/s

rpm: rotations per minute

每分钟的转速

磁盘设备的设备文件命名:/dev/DEV_FILE

IDE: /dev/hd

SCSI, SATA, SAS, USB: /dev/sd

不同设备:a-z

/dev/sda, /dev/sdb, …

同一设备上的不同分区:1,2, …

/dev/sda1, /dev/sda5

3c8ce6380daa33c267ccb0e2e66a02de.png

磁头 head

2磁头数 =1盘片

磁道 track

扇区 sector (512字节)

head 256 磁头

track 1024 磁道

secror 63 扇区

CHS(culinder柱面)

culinder=track*head=512*63*256=8M

(centos6版本之后就不用整个柱面分区)

LBA 逻辑寻址(6版本之后就使用)

3c8ce6380daa33c267ccb0e2e66a02de.png

3c8ce6380daa33c267ccb0e2e66a02de.png

分区

两种分区方式: MBR ,GPT

MBR: Master Boot Record,1982年,使用32位表示扇区数,分区不超过2T

如何分区:按柱面

0磁道0扇区:512bytes

446bytes:boot loader

64bytes:分区表

16bytes: 标识一个分区

2bytes: 55AA (识别是否有分区)

4个主分区;3主分区+1扩展(N个逻辑分区)

GPT:GUID(Globals Unique Identifiers)partition table 支持128个分区,使用64位,支持8Z(512Byte/block )64Z (4096Byte/block)

使用128位UUID 表示磁盘和分区GPT分区表自动备份在头和尾两份,并有CRC校验位

UEFI (统一扩展固件接口)硬件支持GPT,使操作系统启动

EFI部分又可以分为4个区域:EFI信息区(GPT头)、分区表、GPT分区、备份区域

linux 使用的分区方式

lilo

grub (5,6版本)

grub2(7版本之后使用)

echo "- – -"> /sys/class/scsi_host/host0/scan

扫描新添加的硬盘

(查看分区)

lsblk 查看硬盘信息 (读取内存中的信息)

fdisk -l /dev/sdd 查看硬盘信息

3c8ce6380daa33c267ccb0e2e66a02de.png

hexdump -C -n 512 /dev/sda 查看磁盘前512字节的信息

3c8ce6380daa33c267ccb0e2e66a02de.png

dd if=/dev/sda of=/testdir/mbrbak bs=1 count=512

备份mbr

3c8ce6380daa33c267ccb0e2e66a02de.png

dd if=/testdir/mbrbak of=/dev/sdd

将磁盘中备份的磁盘信息放到sdd

3c8ce6380daa33c267ccb0e2e66a02de.png

dd if=/dev/zero of=/dev/sdd bs=1 count=446 将前446字节用0替代

3c8ce6380daa33c267ccb0e2e66a02de.png

3c8ce6380daa33c267ccb0e2e66a02de.png

dd if=/dev/zero of/=dev/sdd bs=1 count=2 skip=510 seek=510

用0代替最后两个字节的分区标识55AA。

3c8ce6380daa33c267ccb0e2e66a02de.png

3c8ce6380daa33c267ccb0e2e66a02de.png

最后两位字节存储标识的55 AA变成00 00

dd if=/testdir/mbrbak of=/dev/sdd bs=1 count=2 skip=510 seek=510

恢复分区标识

3c8ce6380daa33c267ccb0e2e66a02de.png

管理分区

列出块设备

lsblk

3c8ce6380daa33c267ccb0e2e66a02de.png

创建分区使用:

fdisk创建MBR分区,也支持GPT,对于一块硬盘,最多只能管理15分区

3c8ce6380daa33c267ccb0e2e66a02de.png

3c8ce6380daa33c267ccb0e2e66a02de.png

fdisk /dev/sdc

w:存盘退出

n:添加一个新的分区、柱面为单位,

p:显示

d:删除

q:不保存退出

t:更改分区类型

gdisk创建GPT分区

3c8ce6380daa33c267ccb0e2e66a02de.png

查看内核是否已经识别新的分区:

cat /proc/partations

partx -a /dev/sda (6使用这个指令)

partprobe

同步

GNU parted高级分区操作(创建、复制、调整大小等等)

parted /dev/sdc mklabel msdos

创建新的磁盘格式为MBR

parted /dev/sdc mklabel gpt

创建新的磁盘格式为GPT

fdisk -l /dev/sdc

3c8ce6380daa33c267ccb0e2e66a02de.png

查看分区的起始到结束点,块的数量,ID

parted /dev/sdc/mkpart primary 1 1024

起始点 终止点      创建一个分区

parted /dev/sdc/ rm 1

删除/dev/sdc 第一个分区

partprobe-重新设置内存中的内核分区表版本

文件系统

文件系统是操作系统用于明确存储设备或分区上的文件的方法和数据结构;

即在存储设备上组织文件的方法。操作系统中负责管理和存储文件信息的软件结构称为文件管理系统,简称文件系统。

从系统角度来看,文件系统是对文件存储设备的空间进行组织和分配,负责文件存储并对存入的文件进行保护和检索的系统。具体地说,它负责为用户建立文件,存入、读出、修改、转储文件,控制文件的存取,安全控制,日志,压缩,加密等。

ext3(centos5)

ext4(centos6)

xfs(centos7)

光盘:iso9660

网络文件系统:NFS,CIFS (Linux包 samba)

集群文件系统:GFS2,OCFS2(oracle)

分布式文件系统:ceph,moosefs,mogilefs,glusterfs,Lustre

RAW:未经处理或者未格式化产生的文件系统

文件系统分类

根据其是否支持"journal"功能:

日志型文件系统:ext3, ext4, xfs, …

非日志型文件系统: ext2, vfat

文件系统的组成部分:

内核中的模块:ext4, xfs, vfat

用户空间的管理工具:mkfs.ext4, mkfs.xfs,mkfs.vfat

Linux的虚拟文件系统:VFS

查前支持的文件系统:cat /proc/filesystems

3c8ce6380daa33c267ccb0e2e66a02de.png

lsmod 可以查看设备的驱动是否安装成功

3c8ce6380daa33c267ccb0e2e66a02de.png

创建文件系统

mkfs.

mkfs -t ext4

mke2fs

mke2fs /dev/sdc1 建立ext文件系统

3c8ce6380daa33c267ccb0e2e66a02de.png

一个块=4k

tune2fs -l /dev/sd*

3c8ce6380daa33c267ccb0e2e66a02de.png

超级块是存储关于块的数据,块的大小,块的元数据。

组超级块,存储块的大小,和每个组有多少块,块的元数据。

超级块会自动备份。

blkid 查看盘的文件系统

tun2fs -o ^has_journal /dev/sd*

移除 日志功能,ext3变ext2

创建ext文件系统

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

-t {ext2|ext3|ext4}

-b {1024|2048|4096}

-L 'LABEL' 卷标(卷标名最好使用挂载点名字)

-j: 相当于-t ext3

mkfs.ext3 = mkfs-t ext3 = mke2fs -j = mke2fs -t ext3

tune2fs -m 0 /dev/sda5

-i#: 为数据空间中每多少个字节创建一个inode;此大小不应该小于block的大小

-N#:为数据空间创建个多少个inode

-I 一个inode记录大小128—4096

-m #: 默认5%,为管理人员预留空间占总空间的百分比

-O FEATURE[,…]:启用指定特性

-O ^FEATURE:关闭指定特性

3c8ce6380daa33c267ccb0e2e66a02de.png

文件系统标签

blkid:块设备属性信息查看

-U UUID: 根据指定的UUID来查找对应的设备

-L LABEL:根据指定的LABEL来查找对应的设备

3c8ce6380daa33c267ccb0e2e66a02de.png

e2label /dev/sdc2 /mnt/sdc2

加卷标

3c8ce6380daa33c267ccb0e2e66a02de.png

tune2fs

tune2fs:重新设定ext系列文件系统可调整参数的值

-l:查看指定文件系统超级块信息;super block

-L 'LABEL':修改卷标

-m #:修预留给管理员的空间百分比

-j: 将ext2升级为ext3

-O: 文件系统属性启用或禁用,–O ^has_journal

-o: 调整文件系统的默认挂载选项,–o ^acl

-U UUID: 修改UUID号

3c8ce6380daa33c267ccb0e2e66a02de.png

ecntos6 手动分区格式化ext 没有acl功能

tune2fs -o acl /dev/sd*

ACL:

具有能再添加局限权限的能力,实现灵活的权限管理

Centos 7 默认创建xfs 和ext4 文件系统有ACL功能。

Centos 7 版本之前,默认手工创建的ext4文件系统无ACL功能。

手动添加:

tune2fs -o acl /dve/sdb1

mount -o acl /dve/sbd1 /mnt

ACL 生效顺序:所有者,自定义用户,自定义组,其他人。

tune2fs -l /dev/sd*

文件系统检测和修复

常发生于死机或者非正常关机之后

挂载为文件系统标记为“dirty”

fsck: File System Check

fsck.FS_TYPE

fsck-t FS_TYPE

-a: 自动修复错误

-r: 交互式修复错误

fsck -y /dev/sd* 默认在yes的选项下修复

不要在挂载的情况下修复,不然修复会破坏元数据。

注意: FS_TYPE一定要与分区上已经文件类型相同;

fsck -a /dev/sd*

文件修复

fsck 通常用来检查并适当修复一个或多个Linux文件系统. filesys 可以是一个设备名(例如: /dev/hdc1 , /dev/sdb2 ), 一个挂载点(例如: / , /usr , /home ), 或一个ext2文件系统的磁盘标签, 也可以是UUID指定符(例如: UUID=8868abf6-88c5-4a83-98b8-bfc24057f7bd 或 LABEL=root). 通常, fsck 会试着以并行的方式同时在不同的物理磁盘上运行文件系统检查,这样可以减少对所有文件系统进行检查的时间。

如果没有在命令行指定文件系统,并且没有指定 -A 选项, fsck 将默认顺序地检查 /etc/fstab 中登记的文件系统。这和使用 -As 选项是相同的。

fsck 退出的返回值是下列情况之和:

0 – 没有错误

1 – 文件系统有错但已修复

2 – 系统应当重启

4 – 文件系统错误没有修复

8 – 运行错误

16 – 用法或语法错误

32 – 用户撤销了fsck 操作

128 – 共享库出错

当检测多个文件系统时,退出的返回值是对每个文件系统检查的返回值按位或的结果。

e2fsck:ext系列文件专用的检测修复工具

-y:自动回答为yes

-f:强制修复

最大挂载次数和时间间隔会触发fsck检查命令。

fuser -v /mnt/sdb1 查看谁在挂载使用用

fuser -km /mnt/sdb1 强行T出挂载

挂载点目录一般为空

mount 查看挂载

cat /etc/mounts(特殊项都能看到)

挂载:将额外文件系统与根文件系统某现存的目录建立起关联关系,进而使得此目录做为其它文件访问入口的行为

卸载:为解除此关联关系的过程

把设备关联挂载点:mount Point

mount

卸载时:可使用设备,也可以使用挂载点

umount

挂载点下原有文件在挂载完成后会被临时隐藏

挂载点目录一般为空

mount常用命令选项

-t vsftype:指定要挂载的设备上的文件系统类型

-r: readonly,只读挂载

-w: read and write, 读写挂载

-n: 不更新/etc/mtab,相当于#mount

-a:自动挂载所有支持自动挂载的设备(定义在了/etc/fstab文件中,且挂载选项中有auto功能)

-L 'LABEL': 以卷标指定挂载设备

-U 'UUID': 以UUID指定要挂载的设备

-B, –bind: 绑定目录到另一个目录上

查看内核追踪到的已挂载的所有设备:

cat /proc/mounts

3c8ce6380daa33c267ccb0e2e66a02de.png

mount -o remount,noatime /mnt/

取消挂载再重新挂载,不使用atime

mount -o noexec,noatime /mnt/

取消挂载再重新挂载,不使用执行文件

不要轻易将挂载权限比普通用户

3c8ce6380daa33c267ccb0e2e66a02de.png

创建了一个新的文件夹/mnt/sdd

将硬盘/dev/sdd 挂载在/mnt/sdd中

3c8ce6380daa33c267ccb0e2e66a02de.png

-o options:(挂载文件系统的选项),多个选项使用逗号分隔

async:异步模式

sync:同步模式,内存更改时,同时写磁盘

atime/noatime:包含目录和文件

diratime/nodiratime:目录的访问时间戳

auto/noauto:是否支持自动挂载,是否支持-a选项

exec/noexec:是否支持将文件系统上运行应用程序

dev/nodev:是否支持在此文件系统上使用设备文件

suid/nosuid:不否支持suid和sgid权限

remount:重新挂载

ro:只读

rw:读写

user/nouser:是否允许普通用户挂载此设备,默认管理员才能挂载

acl:启用此文件系统上的acl功能

Defaults:相当于rw, suid, dev, exec, auto, nouser, async

原创文章,作者:swzczx,如若转载,请注明出处:http://www.178linux.com/40517

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值