日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

linux下卸载 dev sd*下硬盘,Linux 磁盘管理(示例代码)

發布時間:2025/3/15 linux 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 linux下卸载 dev sd*下硬盘,Linux 磁盘管理(示例代码) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

磁盤管理

Linux思想一切皆文件:

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

I/O 設備地址

設備類型:

塊設備:block,存取單位“塊”,磁盤 (隨機訪問)

字符設備:char,存取單位“字符”,鍵盤 (邏輯訪問)

設備文件:關聯至一個設備驅動程序,進而能夠跟與之對應硬件設備進行通訊。

設備編號:

ll /dev/sda*

root disk 8.0

root disk 8.1

每一個設備都擁有一個主要號碼,代表設備的類型,第二個是同一類型的唯一編號。

硬盤接口類型:

并行:

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

磁頭 head

2磁頭數 =1盤片

磁道 track

扇區 sector (512字節)

head 256 磁頭

track 1024 磁道

secror 63 扇區

CHS(culinder柱面)

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

(centos6版本之后就不用整個柱面分區)

LBA 邏輯尋址(6版本之后就使用)

分區

兩種分區方式:?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 查看硬盤信息

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

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

備份mbr

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

將磁盤中備份的磁盤信息放到sdd

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

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

用0代替最后兩個字節的分區標識55AA。

最后兩位字節存儲標識的55 AA變成00 00

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

恢復分區標識

管理分區

列出塊設備

lsblk

創建分區使用:

fdisk創建MBR分區,也支持GPT,對于一塊硬盤,最多只能管理15分區

fdisk /dev/sdc

w:存盤退出

n:添加一個新的分區、柱面為單位,

p:顯示

d:刪除

q:不保存退出

t:更改分區類型

gdisk創建GPT分區

查看內核是否已經識別新的分區:

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

查看分區的起始到結束點,塊的數量,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

lsmod 可以查看設備的驅動是否安裝成功

創建文件系統

mkfs.

mkfs -t ext4

mke2fs

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

一個塊=4k

tune2fs -l /dev/sd*

超級塊是存儲關于塊的數據,塊的大小,塊的元數據。

組超級塊,存儲塊的大小,和每個組有多少塊,塊的元數據。

超級塊會自動備份。

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:關閉指定特性

文件系統標簽

blkid:塊設備屬性信息查看

-U UUID: 根據指定的UUID來查找對應的設備

-L LABEL:根據指定的LABEL來查找對應的設備

e2label /dev/sdc2 /mnt/sdc2

加卷標

tune2fs

tune2fs:重新設定ext系列文件系統可調整參數的值

-l:查看指定文件系統超級塊信息;super block

-L ‘LABEL‘:修改卷標

-m #:修預留給管理員的空間百分比

-j: 將ext2升級為ext3

-O: 文件系統屬性啟用或禁用,–O ^has_journal

-o: 調整文件系統的默認掛載選項,–o ^acl

-U UUID: 修改UUID號

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*

文件修復

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

mount -o remount,noatime /mnt/

取消掛載再重新掛載,不使用atime

mount -o noexec,noatime /mnt/

取消掛載再重新掛載,不使用執行文件

不要輕易將掛載權限比普通用戶

創建了一個新的文件夾/mnt/sdd

將硬盤/dev/sdd 掛載在/mnt/sdd中

-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

總結

以上是生活随笔為你收集整理的linux下卸载 dev sd*下硬盘,Linux 磁盘管理(示例代码)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。