你的位置:首页 > 数据库

[数据库]Solaris文件系统管理


不同的操作系统使用不同类型的文件系统

1、文件(管理)系统:是用来对文件和目录进行管理、控制的数据结构的总称。

Windows当中的文件系统: ntfs ,fat32 ,fat64

Solaris 当中的文件系统:ufs, zfs

Linux 当中的文件系统:ext3 ext4

Aix:jfs jis2 hp :hfs jfs

 

2、Solaris文件系统的类型

1、磁盘文件系统 UFS(Unix file system )ZFS(zettabyte file system)

2、网络文件系统 NFS network file system

3、swap文件系统 swap文件系统是一种内存替代的文件系统

4、/proc 进程文件系统 驻留在内存中

3和4 称为虚拟文件系统,大多数基于内存,也有基于硬盘的。3是基于硬盘的。

 

通过df –h 进行查看详细信息:

3、文件系统是一个层次结构,用于组织与存储其他目录与文件。

4、文件分类: 普通文件、设备文件、管道设备、链接文件、目录文件。

5、文件系统的存储结构:也是分块的,有用户数据,也有元数据(文件系统结构信息)。

文件系统的构成:0#块:引导块。1#超级块。2----n块。

每个文件对应一个i节点。

Ls -l 就是从i节点当中来的。 I节点 是对文件进行控制与管理的一种数据结构,存放文件说明信息。有 uid gid 文件大小,访问时间,物理块号等。

一个节点对应一个文件。

6、文件系统的访问:

一步步往下寻找

7、几个命令:

Ln 硬链接是备份,软链接是快捷方式。

删除比复制要快,删除只是把节点删掉了。复制的话,还需要复制数据。不能给目录建立链接,只针对文件。因为硬链接指向数据的存储位置。

分区就是 在磁盘中划定 x---y 的范围。硬链接与数据必须位于同一个分区中。

 

Df命令:获取文件系统的信息

Du(disk xxx):输出某个目录或文件所占用的磁盘块数

 

 

几个文件系统简介:

一、UFS文件系统:

分区、格式化、建立挂载点、将分区挂到挂载点下

分区:

Format:(格式化的意思)

分区的情况:

当没有分区的时候,我们可以p一下,进入到partition当中(分区的意思)

可以 键入? ,看看可以填什么。Cylinders 柱面。

注意柱面的序号,backup是备份的,不选。填完后q一下,退出,然后选择 label 进行写入到磁盘。

格式化区分

Newfs /dev/rdsk/c1t0d0s3 默认为UFS文件系统。格式化的是一个裸设备

文件系统挂载: mount命令

将块设备和目录连接起来。可以挂载在空目录下,也可以再已经建立好的目录下进行挂载。

是文件系统的话,默认有一个lost+found 文件。且此文件下没有file1了,隐藏了。我们可以umount。

当然,这些挂载都是暂时的,我们需要写入到 /etc/vfstab 中,才可以永久存在。Vfs virtual file system。

fstype 根先启动,不是有fs操作的,mount at boot 是否开机自动挂载。 fsck pass 1 表示串行检查,2表示并行检查。

当挂载成功的时候,我们只需要 mount /software 即可。因为它会自己加载刚刚更换的文件,/etc/vfstab 从这里面寻找路径。而不用像前面一样。

停止进程访问文件系统

以下是正规关闭进程的方式,kill容易造成系统死机。

fuser 查看有谁在使用这个文件。 Fuser -c - k /software 就是把有人用的进程id给干掉。

文件系统维护

文件系统空间的扩充

清除系统日志文件

减少小文件的使用,节点数有限。增加文件系统i节点的数目。压缩不常用的文件。

UFS文件系统不能在线扩充,只能增加某一个分区的大小。(其实是通过换更大硬盘的方式实现的)    AIS支持。ZFS也支持。

二、ZFS文件系统

AIX\linux下面: 物理卷可以直接增加,卷组也随之扩大。一袋面粉与一笼包子的关系。

ZFS是一个128位文件系统,通过存储池的方式来管理。(资源池)

分层方式来管理,创建快照等。文件系统开销低,等效于管理一个目录。

在创建文件时,ZFS会被占用,而创建文件系统的时候,反而不占用。也就是说不分配空间。而且,spool有资源回收的作用。类似于java里面的资源回收机制。

Zfs备份与恢复

Zfs send /receive

Zfs不用来mount,不需要管理,会自动挂载。

Zpool add + ZFS池+磁盘,这样可以添加磁盘。

Zpool status,查看状态。

删除比较麻烦, zpool remove testpool c1t3d0 这样不行。

检查zpool scrub testpool 检查池 。