Linux運維第9天:Linux下磁盤管理及使用掛載

磁盤管理:
    機械式硬盤
    MBR(master/main boot record)
        446byte:bootloader
        64byte:分區信息
            16byte 一個分區
        2byte:magic number
            標記MBR是否有效
        主+擴展 < = 4 
    分區以柱面爲單位
    
    metadata 元數據
    塊位圖:bitmap
    inode ,index node
    blockgroup 塊組
    supperblock超級塊
    
ln:鏈接文件


ln [-v -s] src dest


    硬鏈接
        文件指向同一個inode
        只能對文件,不能對文件夾
        不能跨文件系統
        會增加鏈接數
    
    軟鏈接
        能跨文件系統
        大小爲路徑包含的字符數
        可用於目錄
        不會增加鏈接數


du :查看文件使用大小
    -s 顯示目錄本身
    -h 單位轉換
    
df :顯示分區的使用情況
    
    
/dev/ 
    主設備號(major):設備類型
    次設備號(minor):相當於ID


創建設備文件  
mknod [option] name type [major minor]
    -m mode
    
    echo "hello" >> /dev/pts/1 
    
IDE,ATA:hd
SATA:sd
SCSI:sd
USB:sd
    a,b,c,...來區分同一種類型下的不同設備
    
hda:
    hda1:第一個分區
    hda2:
    hda3:
    hda4:
    hda5:第一個邏輯分區


查看磁盤相關信息    
    fdisk -l


VFS(virtual file system)(中間件)
    
fdisk:管理磁盤
    m:help 
    p:print
    n:new
    d:delete
    w:save and exit 
    q:exit with no save 
    t:type
        L 
    l:list type 
    Ctrl + backsapce == 刪除字符 
    
cat /proc/partitions 查看分區表  
partprobe [/dev/sda] 重讀分區表(rhel6不使用,使用partx)


用戶模式:用戶空間
內核模式:內核空間
CPU 分爲4個環,ring0在最內部,內核在ring0運行,用戶進程在ring3執行


元數據佔的空間是預先保留的
block size 1024,2048,4096(byte)
軟鏈接一般不佔block
設備文件也不佔block
inode bitmap, block bitmap ,block group,supperblock,block descriptor(GDT)
每個分區的block0不能被使用,被稱爲boot block




文件系統管理
重新創建文件系統會損壞原有文件


cat /proc/filesystems 查看支持文件系統


mkfs -t type device


mkfs -t ext3 = mkfs.ext3


專門管理ext系統文件
mke2fs device 
    -j:journal
    -b:block size,default 4096 
    -L:LABEL
    -m:reserved for super user  percentage %
    -i:size for inode ,default 8192 
    -N:inode number
    -P:force
    -E:extend attributes
    
blkbid device
查看UUID TYPE LABEL


e2label:查看或定義卷標


tune2fs:調整文件系統的相關屬性
    -j:不損壞原有數據,加入journal
    -L:LABEL
    -m:reserved for super user percentage
    -r:block that reserved for super user
    -o:default mount parameter
        acl
    -c:指定掛載多少次後進行自檢 -1,0 表示關閉功能
    -l:super block information
    -i:指定使用多不天后進行自檢 -1,0 表示關閉功能 
    
dumpe2fs:顯示文件系統屬性信息
    -h:只顯示super block
    
fsck:檢查並修復文件系統
    -t:
    -a:自動修復,不需要確認
    
e2fsck:
    -f:force
    -p:自動修復,不需要確認
    
掛載:將新的文件系統關聯到當前根文件系統
卸載:將某文件系統與當前根文件系統的關聯關係予以移除
mount
mount 設備 掛載點
    設備:
        設備文件:/dev/sda1
        卷標:LABEL=""
        UUID: UUID=""
    掛載點:目錄
        要求:
            1.此目錄沒有被其他進程使用
            2.目錄得事先存在
            3.目錄中的原有文件會被暫時隱藏
mount不加參數,顯示當前系統已經掛載的設備及掛載點


mout [options] [-o options] device mount_point
    -a:表示掛載/etc/fstab文件中定義的所有文件系統
    -n:默認,每掛載一個設備都會把信息保存到/etc/mtab文件,使用此選項可以不寫入文件
    -t:type 
    -r:只讀掛載,掛載光盤時常用
    -w:讀寫掛載
    
    -o:指定額外的掛載選項參數,也即文件系統啓用的
        sync,async
        atime,noatime
        auto,noauto(mount -a)
        exec,noexec
        suid,nosuid
        owner(allow ordinary user mount his device)
        defaults(rw,suid,dev,exec,auto,nouser,async,relatime)
        remount
        ro
        _netdev(防止沒有網絡時,不能啓動的情況)
掛載完成後,要通過掛載點訪問對應文件系統上的文件


umount
    umount device
    umount mount_point
    
    注意:
        掛載的設備沒有進程在使用
        


Linux的虛擬地址空間也爲0~4G,Linux內核將這4G字節的空間分爲兩部分,
將最高的1G字節(從虛擬地址0xC0000000到0xFFFFFFFF),供內核使用,稱爲"內核空間",
而將較低的3G字節(從虛擬地址 0x00000000到0xBFFFFFFF),供各個進程使用,稱爲"用戶空間),
因爲每個進程可以通過系統調用進入內核,因此,Linux內核由系統內的所有進程共享,
於是,從具體進程的角度來看,每個進程可以擁有4G字節的虛擬空間,


查看內存使用情況
cat /proc/meminfo
free -m 


創建交換分區
    調整分區類型爲82
    mkswap device
    swapon device 
    swapon -a (自動掛載由/etc/fstab中定義的交換分區)
刪除分區
    swaoff device
    修改分區類型
    
創建迴環設備
    dd命令 
        if=data source 
        of=data destination
        bs=block size
        count=bs count
        seek=count(跳過)
        
    dd if=/dev/sda of=/mnt/usb/mbr.bak bs=512 count=1 (備份MBR)
    dd if=/dev/usb/mbr.bak of=/dev/sda bs=512 count=1 (還原MBR)
    cat /dev/cdrom > /root/rhel6.iso (製作鏡像)
    dd if=/dev/zero of=/var/emptyfile bs=1M count=1024 (創建空文件)
    dd if=/dev/zero of=/var/emptyfile seek=1023 bs=1M count=1024 (創建1G空文件,前1023並沒有使用)
    
mount掛載iso鏡像
    wget ftp://192.168.56.101/pub/**.iso
    mount -o loop **.iso mount_point


    
fuser:驗證進程正在使用的文件或套接字
    fuser /mnt/cdrom
        -v:
        -k:
        -m:
        fuser -km mount_point 終止正在訪問此掛載點的所有進程
lsof




文件系統的配置文件/etc/fstab(/etc/mtab)
    os初始時會自動掛載此文件定義的每個文件系統


設備  掛載點     文件系統類型  掛載選項    轉儲頻率(每多少天備份一次)  文件系統檢測順序(只有根爲1)
/dev/sda5 /mnt/test ext3        defaults    0 0 




練習:
    1.創建一個5G的分區,文件系統爲ext3,卷標爲MYDATA,塊大小爲1024,預留管理空間爲磁盤分區的3%,要求開機後可以自動掛載至/data目錄,並且自動掛載的設備要使用卷標進行引用;
    2.創建一個本地迴環文件/var/swaptemp/swapfile來用於swap,要求大小爲512MB,卷標爲SWAP-FILE,且開機自動啓用此交換設備;
    # mkdir /var/swaptemp
    # dd if=/dev/zero of=/var/swaptemp/swapfile bs=1M count=512
    # mkswap LABLE=SWAP-FILE /var/swaptemp/swapfile


    /etc/fstab
    /var/swaptemp/swapfile      swap        swap        defaults        0 0
    3.上述第一問,如何讓其自動掛載的同時啓用ACL功能;
    /etc/fstab
    LABEL='MYDATA'      /data       ext3        defaults,acl    0 0
    
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章