安装部署PFS

PolarDB File System,简称PFS或PolarFS,是由阿里云自主研发的高性能类POSIX的用户态分布式文件系统,服务于阿里云数据库PolarDB产品。

PFS(PostgreSQL版)是以后台进程(pfsdaemon)的方式提供服务,目前完成基于AliOS以及CentOS 7.5的开发和测试工作,其他Linux版本理论上也可以搭建。

安装依赖

以CentOS 7.5为例,构建工程需要完成以下软件安装:

CMake、gcc&g++、libai​o-devel的安装建议使用yum或apt-get。 zlog需要下载源码后执行 make && sudo make install 安装,而且由于zlog安装的目录在/usr/local/lib,如果运行时找不到动态库,可以通过ldconfig配置进行添加。

本项目也提供rpm包安装,如果使用rpm包安装,跳过编译和安装这2个步骤。

编译

依赖项准备好后,进入代码根目录,执行脚本进行编译:

./autobuild.sh

安装pfsdaemon

安装pfsdaemon需要root权限。 在完成编译工作后,使用安装脚本 install.sh 进行自动化安装:

sudo ./install.sh

运行pfsdaemon

  1. 格式化存储设备。首先执行以下命令查找现有的块设备:
lsblk

​ 选择需要格式化的块设备名,例如 nvme1n1,运行pfs格式化命令:

sudo pfs -C disk mkfs nvme1n1
  1. 执行如下脚本启动pfsdaemon:
sudo /usr/local/polarstore/pfsd/bin/start_pfsd.sh -p nvme1n1

​ 其中,"-p 设备名"必须设置,nvme1n1指代设备名。 ​ 其他可选启动参数如下:

 -f (not daemon mode)
 -w #nworkers
 -c log_config_file
 -b (if bind cpuset)
 -e db ins id
 -a shm directory
 -i #inode_list_size
  1. 可执行如下脚本停止pfsdaemon:
sudo /usr/local/polarstore/pfsd/bin/stop_pfsd.sh nvme1n1

​ 其中,nvme1n1指代设备名。

  1. 清除pfsdaemon运行文件。

    停止pfsdaemon后,清理运行时产生的临时文件、日志、共享内存文件:

sudo /usr/local/polarstore/pfsd/bin/clean_pfsd.sh nvme1n1

​ 其中,nvme1n1指代设备名。

  1. 使用PFS工具进行检查。

    参照PFS工具,进行常见的文件操作,验证文件系统是否正确安装。 例如使用如下命令,可以查看创建的新文件 hello.txt:

sudo pfs -C disk touch /nvme1n1/hello.txt
sudo pfs -C disk ls /nvme1n1/

​ 其中,nvme1n1指代设备名。

卸载pfsdaemon

卸载pfsdaemon需要root权限。

  1. 执行如下脚本停止pfsdaemon:
sudo /usr/local/polarstore/pfsd/bin/stop_pfsd.sh nvme1n1
  1. 使用卸载脚本 uninstall.sh 进行卸载:
sudo ./uninstall.sh