Linux系统 磁盘管理

  1. 磁盘
    1.1 磁盘结构

磁盘的两种单位:
a. 扇区(sector):最小的物理存储单位,512 Bytes
b. 磁柱面(cylinder):有扇区组成的圆,分区的最小单位

第一个sector(512 Bytes):

  1. 主启动记录(MBR,Master Boot Record) , 446 Bytes, 安装启动管理程序
  2. 分区表(Partition Table), 64 Bytes, 记录磁盘分区状态

1.2 分区的概念
分区操作:是对64 Bytes分区表进行的配置

  1. 磁盘最多支持4个分区
  2. 两种分区类型:主分区(Primary),扩展分区(Extended)
  3. 分区的最小单位是柱面(cylinder)
  4. 系统读写磁盘时,先参考分区表,后才能根据分区进行数据处理
  5. 扩展分区:使用额外的磁区来记录分区信息,本身不能被格式化

Primary, Extended, Logical分区:

  1. 主分区和扩展分区最多四个
  2. 扩展分区最多一个
  3. 逻辑分区由扩展分区分割得到,分区编号从5号开始
  4. 只有主分区和逻辑分区可以被格式化
  5. IDE扩展分区最大分区号63,SATA扩展分区最大分区号15

1.3 硬件文件名
硬件 文件名
IDE硬盘 /dev/hd[a-d]
SCSI/SATA/USB /dev/sd[a-p]
软盘 /dev/fd[0-1]
鼠标 PS2: /dev/psaux
光驱 /dev/cdrom
当前鼠标 /dev/mouse
磁带机 IDE: /dev/ht0
SCSI: /dev/st0

  1. 分区操作
    2.1 磁盘分区
    fdisk -l /dev/hda
    fdisk /dev/sda

2.2 磁盘格式化:
mkfs -t ext3 /dev/sda1

mke2fs [-b block size 1024/2048/4096] [-i inode size] [-L label] [-cj] device
mke2fs -j -L “vbird_logical” -b 2048 -i 8192 /dev/hdc6

2.3 磁盘检查
fsck -C -f -t ext3 /dev/sda1
mke2fs -c /dev/sda1

2.4 内存置换空间(swap)
mkswap /dev/sda1
swapon /dev/sda1
free
swapon -s
swapoff /dev/sda1

文件方式swap
dd if=/dev/zero of=/tmp/swap bs=1M count=128
mkswap /tmp/swap
swapon /tmp/swap

ls -s: size in block
du -s: summary size

2.5 大磁盘分区,支持2TB以上
parted /dev/sda print

创建一个500M的逻辑分区
parted /dev/sda mkpart logical ext3 19.2GB 19.7GB

删除第八个分区
parted /dev/sda rm 8

  1. 挂载
    3.1 挂载点(mount point)
  1. 将文件系统和目录结合的操作,叫做挂载
  2. 挂载点必须是目录,该目录为进入文件系统的入口
  3. 根目录(/)的inode一般为2
  4. 文件系统和挂载目录应该一一对应
  5. 挂载点目录应该为空目录,如果有文件存在,挂载时会被清空
  6. 根目录/必须被挂载

3.2 配置启动挂载
/etc/fstab: 系统启动时,需要fsck和mount的磁盘

  1. 设备名或设备Label /dev/sda5或者LABEL=/1
  2. 挂载点(目录) / 根目录
  3. 硬盘分区的文件系统 ext3
  4. 挂载参数 defaults,具有rw, suid, dev, exec, auto, nouser, async等参数
  5. 能否被dump备份指令作用 1 (0:不做dump备份, 1:每天进行dump备份, 2:不定期dump备份)
  6. 是否以fsck检验磁区: 1 (0:不检验,1:最早检验,2:晚于1检验)

根目录:1, 1
特殊目录: 0, 0 (/proc, /sys)
普通目录:根据实际要求

3.3 记录已挂载的文件系统,mount和umount会刷新
/etc/mtab
/proc/mounts

3.4 ext2、ext3磁盘挂载:
mkdir /mnt/hda6
mount /dev/hda6 /mnt/hda6
mount -l

3.5 cd/dvd挂载:
mkdir /mnt/cdrom
mount /dev/cdrom /mnt/cdrom

mount -o loop linux.iso /mnt/cdrom

3.6 格式化挂载软盘:
mkfs -t vfat /dev/df0
mkdir /mnt/floppy
mount -t vfat /dev/fd0 /mnt/floppy

3.7 挂载闪存:
mkdir /mnt/usb
mount -t vfat /dev/sda1 /mnt/flash

3.8 挂载smab
mount -t smbfs -o username=w,password=w,codepage=936,iocharset=gb2312 //192.168.0.101/share /mnt/winshare

3.9 挂载nfs
mount -t nfs 10.137.5.44:/home/abc /mnt/nfs

3.10 卸载
umount -f /oracle

问题:umount: device is busy.
1)lsof
lsof /tellin
kill -9 10320
umount /tellin

  1. fuser
    fuser -m /tellin
    fuser -m -i -v -k /tellin
    umount /tellin

你可能感兴趣的:(Linux相关,磁盘,存储)