1. 程式人生 > >CentOS分割槽操作詳解

CentOS分割槽操作詳解

磁碟分割槽

分割槽格式的兩種選擇:MBR和GPT

分割槽命令:

parted的操作都是實時生效的,小心使用,主要是用於大於2T硬碟,支援MBR和GPT兩種格式。

用法:parted [選項]… [裝置[命令[引數]…]…]

  • parted /dev/sdb mklabel gpt|msdos
    //選擇分割槽格式

  • parted /dev/sdb print
    //檢視分割槽

  • parted /dev/sdb mkpart primary 1 200 (預設M)
    //分出一個199M的分割槽

  • parted /dev/sdb rm1
    //刪除分割槽1

    ==parted /dev/sdb mklabel gpt
    parted /dev/sdb mkpart primary 1 1G
    parted /dev/sdb print
    parted /dev/sdb mkpart primary 1001 20G
    parted /dev/sdb mkpart logical 20G 80G
    parted /dev/sdb rm 1==

gdisk 主要是去分GPT格式 (支援2T以上)

gdisk -l [-u] [device…]

子命令:
- p 分割槽列表
- t 更改分割槽型別
- n 建立新分割槽
- d 刪除分割槽
- w 儲存並退出
- q 不儲存並退出

 gdisk   /dev/sdb
Command (? for help): n
Partition number (3-128, default 3):3
First sector (34-419430366, default = 44042240) or {+-}size{KMGTP}: 
Last sector (44042240-419430366, default = 419430366) or {+-}size{KMGTP}: +20g
Hex code or GUID (L to show codes, Enter = 8300):一個ID號,預設就好
Command (? for help): p
Command (? for help):w 存檔退出

fdisk 分MBR格式(2T以下推薦使用)

fdisk -l [-u] [device…]

子命令:
- p 分割槽列表
- t 更改分割槽型別
- n 建立新分割槽
- d 刪除分割槽
- w 儲存並退出
- q 不儲存並退出

fdisk /dev/sdb
Command (m for help): m
Command (m for help): n
Partition type:
p   primary (0 primary, 0 extended, 4 free)
e   extended
Select (default p): p
Partition number (1-4, default 1): 1
First sector (2048-419430399, default 2048): 
Last sector, +sectors or +size{K,M,G} (2048-419430399, default 419430399):+1G(必須嚴格區分大小寫)
Command (m for help): p
Command (m for help): w

fdisk 實現非互動式分割槽:

 echo -e "n\np\n1\n\n+1G\nw\n"  |fdisk /dev/sdb

echo -e 啟用轉義符

  • \a 發出警告聲
  • \n 回車

檢視機器上有幾個分割槽的方法:

  • lsblk
  • fdisk -l
  • ls /dev/sd*
  • cat /proc/partitions
  • echo ‘- - -’ > /sys/class/scsi_host/host2(可能不止一個)/scan(新插磁碟用這個可以看出來)

同步分割槽資訊:

cetos 5或者7 :partprobe-重新設定記憶體中的核心分割槽表版本

centos6 :

新增分割槽同步: partx -a /dev/sda

刪除分割槽同步: partx -d –nr 7-8 /dev/sda

查工具來自哪個包:

yum list |grep xfs 找安裝包

MBR和GPT格式相互轉換:

parted /dev/sdb mklabel msdos

**注意:分割槽名稱不穩定
分割槽同步問題

執行完每個命令一定要看下,驗證下結果,再做下一步。**

檔案系統

檔案系統是作業系統用於明確儲存裝置或分割槽上的檔案的方法和資料結構;即在儲存裝置上組織檔案的方法。作業系統中負責管理和儲存檔案資訊的軟體結構稱為檔案管理系統,簡稱檔案系統。

Linux檔案系統:ext2(Extended file system), ext3, ext4, xfs(SGI), btrfs(Oracle), reiserfs, jfs(AIX), swap

光碟:iso9660

Windows:fat32, ntfs

Unix: FFS(fast), UFS(unix), JFS2

網路檔案系統:NFS, CIFS

叢集檔案系統:GFS2, OCFS2(oracle)

分散式檔案系統:fastdfs,ceph, moosefs, mogilefs, glusterfs, Lustre

RAW:未經處理或者未經格式化產生的檔案系統

說明:

centos 7 預設 XFS

centos 6 預設 ext4

centos 5 預設 ext3

ext2與ext3相差一個日誌功能(journal)

blkid 檢視當前系統已有檔案系統

建立檔案系統

mkfs命令:

mkfs.FS_TYPE/dev/DEVICE

 [[email protected]: /root]# mkfs.ext4 /dev/sdb1 
[[email protected]: /root]# blkid
/dev/sdb1: UUID="fe5ae367-e43e-4a1e-b94e-43a472e3c941" TYPE="ext4" 

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

-i#: 為資料空間中每多少個位元組建立一個inode;此大小不應該小於block的大小

-N #:為資料空間建立個多少個inode

-I 一個inode記錄佔用的磁碟空間大小,128—4096

-m #: 預設5%,為管理人員預留空間佔總空間的百分比

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

-O ^FEATURE:關閉指定特性

[[email protected]: /root]# mke2fs -t ext3 -b 4096 -L /mnt/sdb3 -i 8192 -m 3 /dev/sdb3

blkid:塊裝置屬性資訊檢視

  • -U UUID: 根據指定的UUID來查詢對應的裝置

    [[email protected]: /root]# blkid -U 7e927cef-2b89-4091-a5ec-6170b0fbedb3
    /dev/sda6

  • -L LABEL:根據指定的LABEL來查詢對應的裝置

    [[email protected]: /root]#mkfs.ext4 -L /mnt/sdb2 /dev/sdb2 //給裝置/dev/sdb2建立一個卷標/mnt/sdb2
    [[email protected]: /root]# blkid
    /dev/sdb2: LABEL=”/mnt/sdb2” UUID=”bdd7338f-c2c4-44ff-8ab2-ee6c4b46480a”TYPE=”ext4”
    [[email protected]: /root]# blkid -L /mnt/sdb2
    /dev/sdb2

e2label:管理ext系列檔案系統的LABEL

e2label DEVICE [LABEL]

 [[email protected]: /root]# blkid
/dev/sdb2: LABEL="/mnt/sdb2" UUID="bdd7338f-c2c4-44ff-8ab2-ee6c4b46480a" TYPE="ext4" 
[[email protected]: /root]# e2label  /dev/sdb2 /app/sdb2
[[email protected]: /root]# blkid
/dev/sdb2: LABEL="/app/sdb2" UUID="bdd7338f-c2c4-44ff-8ab2-ee6c4b46480a" TYPE="ext4"

findfs:查詢分割槽

findfs[options] LABEL=

[[email protected]: /root]# findfs LABEL="/app/sdb2"
/dev/sdb2
findfs[options] UUID=<uuid>
[[email protected]: /root]# findfs UUID="bdd7338f-c2c4-44ff-8ab2-ee6c4b46480a"
/dev/sdb2

tune2fs:重新設定ext系列檔案系統可調整引數的值

-l:檢視指定檔案系統超級塊資訊;super block

-L ‘LABEL’:修改卷標

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

-j: 將ext2升級為ext3

-O: 檔案系統屬性啟用或禁用,–O
^has_journal

-o: 調整檔案系統的預設掛載選項,–o ^acl

-U UUID: 修改UUID號

dumpe2fs:

  • -h:檢視超級塊資訊,不顯示分組資訊

    [[email protected]: /root]# dumpe2fs /dev/sdb1

tune2fs -l /dev/sdb1 查超級塊的資訊

# 檔案修復

  • 常發生於宕機或者非正常關機之後
    掛載為檔案系統標記為“no clean”
    注意:一定不要在掛載狀態下修復

fsck: File System Check

fsck-t FS_TYPE

-p: 自動修復錯誤

-r: 互動式修復錯誤

FS_TYPE一定要與分割槽上已經檔案型別相同

e2fsck:ext系列檔案專用的檢測修復工具

-y:自動回答為yes

-f:強制修復

fsck /dev/sdb2 -y

注意:修復操作生產中慎用,儘量請專業公司來修復。

掛載

掛載:將額外檔案系統與根檔案系統某現存的目錄建立起關聯關係,進而使得此目錄做為其它檔案訪問入口的行為

解除安裝:為解除此關聯關係的過程

把裝置關聯掛載點:mount Point

解除安裝時:可使用裝置,也可以使用掛載點
umount

掛載點下原有檔案在掛載完成後會被臨時隱藏

掛載點目錄一般為空

掛載前一點要先檢視下掛載情況,一旦已經掛載某個裝置的目錄,一定不要去掛載其他裝置,不然以前目錄下裝置的檔案被隱藏,導致以前目錄中檔案無法訪問,嚴重話可能會導致部分服務宕機。

用mount命令掛載檔案系統

mount [-fnrsvw] [-t vfstype] [-o options] device dir

device:指明要掛載的裝置;

(1) 裝置檔案:例如/dev/sda5

(2) 卷標:-L ‘LABEL’, 例如-L ‘MYDATA’

(3) UUID, -U ‘UUID’:例如-U ‘0c50523c-43f1-45e7-85c0-a126711d406e’

(4) 偽檔案系統名稱:proc, sysfs, devtmpfs, configfs

注意:

  • dir:掛載點
    事先存在;建議使用空目錄

  • 程序正在使用中的裝置無法被解除安裝

    mount /dev/sdb1 /mnt/sdb1 //掛載

    df //檢視

    /dev/sdb1 999320 2564 927944 1% /mnt/sdb1

mount常用命令選項
- -t vsftype:指定要掛載的裝置上的檔案系統型別
- -r: readonly,只讀掛載
- -w: read and write, 讀寫掛載
- -n: 不更新/etc/mtab,mount不可見(隱藏掛載,只能使用cat /proc/mounts)
- -a:自動掛載所有支援自動掛載的裝置(定義在了/etc/fstab檔案中,且掛載選項中有auto功能)
- -L ‘LABEL’: 以卷標指定掛載裝置
- -U ‘UUID’: 以UUID指定要掛載的裝置
- -B, –bind: 繫結目錄到另一個目錄上

**檢視核心追蹤到的已掛載的所有裝置:
cat /proc/mounts**

-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, nosuid, dev, exec, auto, nouser, async

檢視掛載情況:

findmnt MOUNT_POINT

檢視正在訪問指定檔案系統的程序:

lsof MOUNT_POINT

fuser -v MOUNT_POINT

終止所有在正訪問指定的檔案系統的程序:

fuser -km MOUNT_POINT

取消掛載解除安裝:

umount DEVICE

umount MOUNT_POINT

檢視掛載關係

mount

cat /etc/mtab

cat /proc/mounts //隱藏掛載也可以看到

檔案掛載配置檔案

/etc/fstab每行定義一個要掛載的檔案系統;

  #cat   /etc/fstab
 UUID=6ef6b1fe-1da4-406f-a028-3530d277e279 /                       ext4    defaults        0 0

從左到右依次解釋:

  • 要掛載的裝置或偽檔案系統
  • 掛載點
  • 檔案系統型別
  • 掛載選項
  • 轉儲頻率
  • 自檢次序
  • 要掛載的裝置

目錄掛目錄的配置檔案寫法:

/boot /mnt/boot  none  bind 0 0

檔案系統掛檔案的配置檔案寫法:

/root/partfile /mnt/file ext4 loop 0 0

生效: mount -a

重新掛載某個裝置:

 mount -o remount /mnt/sdb1

處理交換檔案和分割槽

交換分割槽是系統RAM的補充

基本設定包括:

建立交換分割槽或者檔案:

分割槽完需要改ID為82,預設為83,按t更新,L可以檢視可以更改的型別。

使用mkswap寫入特殊簽名

[[email protected]: /root]# mkswap  /dev/sdb5  -L swap2

•在/etc/fstab檔案中新增適當的條目

 vim /etc/fstab
 :r!blkid  /dev/sdb2 //vim下讀取某個分割槽的UUID
 UUID=09149535-ae7e-4b41-bba7-917aa8d1cc19 /mnt/swap2  swap  defaults 0 0

•使用swapon -a 啟用交換空間

 [[email protected]: /root]# swapon -a //重新讀取配置檔案生效
  • swapon -s 檢視誰提供swap

U盤插入使用

U盤顯示的裝置名稱Sdd

sync強制寫U盤,使用三次。

光碟做ISO檔案

    cp /dev/sro /root/centos6.iso

U盤做ISO

    dd if=centos6.iso of=/dev/sdd

目錄做成ISO檔案

mkisofs -r -o etc.iso /etc/

直接掛載該檔案:
mount -o loop etc.iso /nmt/cdrom //只能做yum原始碼

eject -t /dev/sro //彈出光碟

tune2fs -l /dev/sdb1 查超級塊的資訊

掛載次數: mount count

 tune2fs -C 33 /dev/sdb1

maximun mount
count:達到次數觸發檢查

    tune2fs -c 33 /dev/sdb1

check interval: 天為單位

    tune2fs -i 33w /dev/sdb1

default mount options: (none)

拒絕wang使用者訪問a檔案
setfacl -m u:wang:0 a
設定該項時可能系統不支援

1.需要掛載的時候加選項進去,
改配置檔案

/dev/sdb1  /mnt/sdb1 ext4 acl 0 0

2.tune2fs -o acl /dev/sdb1

tune2fs -l acl  /dev/sdb1 //檢視超級塊資訊

看有沒有acl選項
1. tune2fs -l acl /dev/sdb1

2.mount

使用者線上的情況下,想要取消ACL功能

mount -o remout,noacl /mnt/sdb1

centos6 安裝系統時候的分割槽預設是有acl功能的。
centos7預設都有。

記住一個重要資訊:只要存到磁碟的資料就不會丟失,存到記憶體關機可能會丟失。

補充知識點:

ACL 是什麼?

ACL的全稱是 Access Control List (訪問控制列表) ,一個針對檔案/目錄的訪問控制列表。它在UGO許可權管理的基礎上為檔案系統提供一個額外的、更靈活的許可權管理機制。它被設計為UNIX檔案許可權管理的一個補充。

ACL允許你給任何的使用者或使用者組設定任何檔案/目錄的訪問許可權。

檢查是否支援ACL

ACL需要Linux核心和檔案系統的配合才能工作,當前我們能見到的大多數Linux發行版本預設都是支援的。但最好還是能夠先檢查一下:

sudo tune2fs -l /dev/sda1 |grep “Default mount options:”
Default mount options:                 user_xattr    acl

我們能夠看到預設情況下(Default mount options:)已經加入 acl 支援了。

如何設定ACL

我們可以使用setfacl和getfacl命令來設定或觀察檔案/目錄的acl許可權。

setfacl

引數不多,直接列出來了:

setfacl [-bkRd] [{-m|-x} acl引數] 檔案/目錄名

-m :配置後面的 acl
引數給檔案/目錄使用,不可與 -x 合用;

-x :刪除後續的 acl 引數,不可與 -m 合用;

-b :移除所有的 ACL 配置引數;

-k :移除預設的 ACL 引數;

-R :遞迴配置 acl;

-d :配置“預設 acl
引數”,只對目錄有效,在該目錄新建的資料會引用此預設值;

getfacl

getfacl 檔案/目錄名

   [[email protected]: /root]# setfacl -m u:xiangge:rwx aaa4 
   [1002][[email protected]: /root]# ll aaa4 
    -rw-rwxr--+ 1 root root 0 Apr 25 10:22 aaa4
    [1003][[email protected]: /root]# getfacl aaa4 
    # file: aaa4
   # owner: root
  # group: root
  user::rw-
  user:xiangge:rwx
 group::r--
 mask::rwx
 other::r--

針對組的提權使用 g就行

子檔案/目錄繼承父目錄的許可權

這是一個很棒的例子,它能讓我們建立的子檔案或者子資料夾繼承父資料夾的許可權設定!

 mkdir mydir
 ll -d mydir
 drwxr-xr-x 2 root root 4096 May 28 09:35 mydir
 setfacl –m d:u:apache:rwx mydir

注意引數 d 在這裡起到了決定性的作用。

檢視下屬性的變化:

 getfacl mydir
 ...
default:user::rwx
default:user:apache:rwx
default:group::r-x
default:mask::rwx
default:other::r-x

多了些 default開頭的項,在mydir下建立一個新檔案試試:

 touch mydir/abc
getfacl mydir/abc
 ...
user:apache:rwx                 #effective:rw-
group::r-x                      #effective:r--
mask::rw-
...

相關推薦

CentOS分割槽操作

磁碟分割槽 分割槽格式的兩種選擇:MBR和GPT 分割槽命令: parted的操作都是實時生效的,小心使用,主要是用於大於2T硬碟,支援MBR和GPT兩種格式。 用法:parted [選項]… [裝置[命令[引數]…]…] pa

centos磁碟安裝與磁碟分割槽方案

安裝前須知: 前幾天自己研究了下幾個linux系統,還是覺著centos要好一些。相對穩定點,起碼桌面系統還是比 ubuntu 強 安裝centos並不難,安裝方法多得是,像硬碟安裝,U盤安裝,最簡單方便得當然是光碟安裝,而且燒錄一張管盤僅僅需要10分鐘,比硬碟安裝和U盤安裝需要仔細研究大量得說明

hive開發中對分割槽的各種操作

    hive開發中,在儲存資料時,為了更快地查詢資料和更好地管理資料,都會對hive表中資料進行分割槽儲存。所謂的分割槽,在hive表中體現的是多了一個欄位。而在底層檔案儲存系統中,比如HDFS上,分割槽則是一個資料夾,或者說是一個檔案目錄,不同的分割槽,就是資料存放在根

MongoDB增刪改查操作

添加多個 負數 指定 cal lib 定位 也會 pan str 一、插入 MongoDB的插入操作很簡單,使用insert方法,這裏演示從創建數據庫、創建集合到插入文檔、查詢文檔。 集合創建方法參數說明: size:集合最大空間 max:集合最多文檔數量 (超出si

CentOS Apache配置

先來 page over oca 基於ip chmod 程序 ror 接收 要想在linux上實現網頁服務器(www)需要Apache這個服務器軟件,不過Apache僅能提供最基本的靜態網站數據而已,想要實現動態網站的話,最好還是要PHP與MySQL的支持,所以下面我們將會

轉載:centos安裝gitlab

smtp發送郵件 下載 ror mage package nload git clone 輸入 clas 原文地址:http://blog.csdn.net/jiangtao_st/article/details/73612298 一, 服務器快速搭建gitlab方法 可以

CentOS安裝流程

菜鳥取經路之linux系統安裝 對於剛剛接觸Linux的人們來說,遇到的第一個問題便是如何快速安裝一個Linux系統。我初次接觸 Linux時也是摸索許久才安裝成功。鑒於此,今天就給大家帶來完整詳細的Linux安裝過程。一、準備安裝所需的軟件 1、VMwareWorkstation

Git遠程操作

命令使用 eight conf 分支 master 選項 pull pru ase 一、git clone git clone <版本庫網站> git clone https://github.com/jquery/jquery.git 克隆jQuery的版

【轉】 C語言文件操作

pri void rfi 識別 archive format 隨機 stat 文本文 轉自:http://www.cnblogs.com/likebeta/archive/2012/06/16/2551780.html C語言中沒有輸入輸出語句,所有的輸入輸出功能都用

JMeter數據庫操作

idt .cn username logs word api family -1 用戶名 Jmeter提供了JDBC連接的插件,通過執行SQL語句的java API,實現對數據庫的訪問和查詢。 一、安裝驅動包   將需要連接JDBC的jar包放入jmeter安裝文件的lib

DNS基本概念及操作----------------轉載

dns介紹 DNS基本概念及操作詳解目錄:1.DNS協議2.DNS查詢 2.1遞歸查詢 2.2跌代查詢 2.3反向查詢3.域維護 3.1全量AXFR傳輸 3.2增量IXFR傳輸 3.3通過NOTIFY 3.4動態更新4.DNS安全 在很多人看來,DNS只是為外部提供DNS解析服務(我以前也是這麽認為

CentOS 6安裝及PXE 安裝

ges ide 運行 name partition top 遠程 nec cal Linux系統安裝詳解 註: Tab鍵 編輯選項 esc鍵可以返回去 vmlinuz initrd=initrd.img 後面加 rescue相當於進入

(轉載)Resize Instance 操作

可能 compute api 消息 confirm 詳細分析 tin 相同 .cn (轉載)Resize Instance 操作詳解 - 每天5分鐘玩轉 OpenStack(41) 原文路徑:https://www.cnblogs.com/CloudMan6/p/55482

VB ListView控件各種操作

auto .com 設置 查看 右鍵 src 行為 ade 在線 VB ListView控件各種操作詳解 [vb] view plaincopy Private Sub Form_Load() ‘ListView1.SmallIcon

SQL Server2008及以上 表分區操作

value 詳細 分享 指令 pos 分割 分區方案 別了 分區   1. 創建分區函數   2. 創建分區方案   3. 對表進行分區   下面將對每個步驟進行詳細介紹。   步驟一:創建一個分區函數   此分區函數用於定義你希望SQL Server如何對數據進行分

Git遠程操作(新手必備)

tar etc rename 也有 mas 本地文件 轉載 其中 efault Git是目前最流行的版本管理系統,學會Git幾乎成了開發者的必備技能。 Git有很多優勢,其中之一就是遠程操作非常簡便。本文詳細介紹5個Git命令,它們的概念和用法,理解了這些內容,你就會完全掌

C語言學習系列——文件讀寫操作

記錄 源程序 8.4 lib 令行 stdio.h 空串 表示 參數 當文件按指定的工作方式打開以後,就可以執行對文件的讀和寫。下面按文件的性質分類進行操作。針對文本文件和二進制文件的不同性質,對文本文件來說,可按字符讀寫或按字符串讀寫;對二進制文件來說,可進行

linux零基礎學習之Linux sed 命令常用操作

延伸 進行 數據 12px -i 空白 字符串 options 信息 sed是Linux系統中一個很好的文件處理工具,可以對數據進行替換、刪除、新增以及選取等操作,使用起來也十分方面,以下是全面的sed操作介紹。sed命令行格式:sed [options] 'com

CentOS DNS服務與基於bind的智能DNS

cfa oba 主從 err 正向解析 程序 管理員 hint 查詢方式 Linux中通常使用bind來實現DNS服務器的架設 安裝bind 安裝DNS服務軟件Bind和相應工具包 #yum install bind bind-utils -y #service named

二叉搜索樹的刪除操作(BST)

子節點 沒有 解釋 找到 bst 左右 直接 元素 改變 一、思想:分類討論 二、二叉搜索樹的刪除操作具體討論分如下四種情況:(記我們要刪除的節點為D) 1、如果D節點既沒有左孩子,也沒有右孩子,那麽直接刪除就好了; 2、如果D節點只有左孩子,沒有右孩子,那麽只