文件系统格式化和挂载
linux文件系统:
文件系统常用的Linux分为EXT1,EXT2,EXT3,EXT4,xfs,vfat等
windows:NTFS,fat12,fat16等
linux分区:
linux文件分区工具有:
fdisk---主要为msdos(MBR)分区表支持
最多只可以分出4个主分区或者3个主分区(primary)和1个逻辑分区(logical)
分区表大小最多为512bytes,其中分区数据最多占46bytes其他为开机数据存放。
gdisk---主要为GPT分区表支持
可以分出多个扇区,主要用于GPT分区
根据提示加入分区数据或?提示快捷键: 如果需要显示文件系统号码可输入L查询:
例子: 加入100M分区:
按提示输入n(添加分区) ---- enter(默认分区号) ---enter(起始扇区) --- +100M(扇区大小) --enter ---enter(默认文件系统编号linux8300)----p(查询分区) ---w(写入分区表,重要——)
如果没有及时更新分区表信息,可用partprobe更新分区信息
列出分区信息:
lsblk --- 查看文件系统
parted 装置名 print ---查看分区信息
文件系统格式化
mkfs.xfs [-b bsize][-d parms] [-i parms][-l parms] [-L label][-f] [-r parms] 装置名称
mkfs.xfs /dev/vda4 格式化
blkid /dev/vda4 查看格式化
mkfs.xfs -f -d agcount=2 /dev/vda4 设定参数
设定RAID磁盘阵列参数
1. 我有两个线程的 CPU 数量,所以 agcount 最好指定为 2
2. 当初设定 RAID 的 stripe 指定为 256K 这么大,因此 su 最好设定为 256k
3. 设定的磁盘阵列有 8 颗,因为是 RAID5 的设定,所以有一个 parity (备份碟),因此指定 sw 为 7
4。由上述的数据中,我们可以发现数据宽度 (swidth) 应该就是 256K*7 得到 1792K,可以指定 extsize 为1792k
既可以设定参数为:
mkfs.xfs -f -d agcount=2,su=256k,sw=7 -r extsize=1792k /dev/vda4
其他文件系统
mkfs.[tab][tab] 查询
文件系统挂载:
普通文件挂载和查看:
df可以查看文件挂载信息 ---- du查看和计算文件容量
mount [-options] 装置文件 挂载点
[root@study ]# mount -a
[root@study ~]# mount [-l]
[root@study ~]# mount [-t 文件系统] LABEL='' 挂载点
[root@study ~]# mount [-t 文件系统] UUID='' 挂载点 # 鸟哥近期建议用这种方式喔!
[root@study ~]# mount [-t 文件系统] 装置文件名 挂载点
属性和参数:
-a :依照配置文件 /etc/fstab 的数据将所有未挂载的磁盘都挂载上来
-l :单纯的输入 mount 会显示目前挂载的信息。加上 -l 可增列 Label 名称!
-t :可以加上文件系统种类来指定欲挂载的类型。常见的 Linux 支持类型有:xfs, ext3, ext4,
reiserfs, vfat, iso9660(光盘格式), nfs, cifs, smbfs (后三种为网络文件系统类型)
-n :在默认的情况下,系统会将实际挂载的情况实时写入 /etc/mtab 中,以利其他程序的运作。
但在某些情况下(例如单人维护模式)为了避免问题会刻意不写入。此时就得要使用 -n 选项。
-o :后面可以接一些挂载时额外加上的参数!比方说账号、密码、读写权限等:
async, sync: 此文件系统是否使用同步写入 (sync) 或异步 (async) 的
内存机制,请参考文件系统运作方式。预设为 async。
atime,noatime: 是否修订文件的读取时间(atime)。为了效能,某些时刻可使用 noatime
ro, rw: 挂载文件系统成为只读(ro) 或可擦写(rw)
auto, noauto: 允许此 filesystem 被以 mount -a 自动挂载(auto)
dev, nodev: 是否允许此 filesystem 上,可建立装置文件? dev 为可允许
suid, nosuid: 是否允许此 filesystem 含有 suid/sgid 的文件格式?
exec, noexec: 是否允许此 filesystem 上拥有可执行 binary 文件?
user, nouser: 是否允许此 filesystem 让任何使用者执行 mount ?一般来说,
mount 仅有 root 可以进行,但下达 user 参数,则可让
一般 user 也能够对此 partition 进行 mount 。
defaults: 默认值为:rw, suid, dev, exec, auto, nouser, and asyncremount: 重新挂载,这在系 统出错,或重新更新参数时,很有用!
/etc/filesystems:系统指定的测试挂载文件系统类型的优先级;
/proc/filesystems:Linux 系统已经加载的文件系统类型。
/lib/modules/$(uname -r)/kernel/fs/ 文件系统的驱动程序
mount UUID="e0a6af55-26e7-4cb7-a515-826a8bd29e90" /data/xfs 用uuid挂载
mount /dev/sr0 /data/cdrom 挂载光驱
mount -o codepage=950,iocharset=utf8 UUID="35BC-6D6B" /data/usb 挂载usb装置
mount -o remount,rw,auto /将 / 重新挂载,并加入参数为 rw 与 auto
mount --bind /var /data/var 将一个目录挂载到另一个目录下
umount /data/var 卸除
挂载loop装置文件
mknod /tmp/testpipe p 建立一个 FIFO 文件,档名为 /tmp/testpipe
mount -o loop /tmp/loopdev 挂载loop
dd if=/dev/zero of=/srv/loopdev bs=1M count=512 建立一个大文件
mount -o loop /srv/loopdev /data/srv 挂载大文件loop、
开机自动挂载(/etc/fstab)
修改文件添加一行数据即可设置开机自动挂载
mount -a 通过fstab文件自动挂载
swap 内存置换空间挂载
开始建置 swap 格式
mkswap /dev/vda6 建立swap格式
free 查看内存空闲
swapon /dev/vda6 启动swap
free
swapon -s 查看
写入/etc/fstab文件自动挂载
/tmp/swap swap swap defaults 0 0