Linux运维第9天:Linux下磁盘管理及使用挂载

来源:互联网 发布:凸包算法 matlab 编辑:程序博客网 时间:2024/06/05 16:18
磁盘管理:
    机械式硬盘
    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
    
0 0
原创粉丝点击