安装部署PFS
PolarDB File System,简称PFS或PolarFS,是由阿里云自主研发的高性能类POSIX的用户态分布式文件系统,服务于阿里云数据库PolarDB产品。
PFS(PostgreSQL版)是以后台进程(pfsdaemon)的方式提供服务,目前完成基于AliOS以及CentOS 7.5的开发和测试工作,其他Linux版本理论上也可以搭建。
安装依赖
以CentOS 7.5为例,构建工程需要完成以下软件安装:
- CMake:需要2.8及以上版本。
- gcc&g++:需要4.8.5及以上版本。
- zlog:需要1.2.12及以上版本。
- libaio-devel
CMake、gcc&g++、libaio-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
- 格式化存储设备。首先执行以下命令查找现有的块设备:
lsblk
选择需要格式化的块设备名,例如 nvme1n1,运行pfs格式化命令:
sudo pfs -C disk mkfs nvme1n1
- 执行如下脚本启动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
- 可执行如下脚本停止pfsdaemon:
sudo /usr/local/polarstore/pfsd/bin/stop_pfsd.sh nvme1n1
其中,nvme1n1指代设备名。
清除pfsdaemon运行文件。
停止pfsdaemon后,清理运行时产生的临时文件、日志、共享内存文件:
sudo /usr/local/polarstore/pfsd/bin/clean_pfsd.sh nvme1n1
其中,nvme1n1指代设备名。
使用PFS工具进行检查。
参照PFS工具,进行常见的文件操作,验证文件系统是否正确安装。 例如使用如下命令,可以查看创建的新文件 hello.txt:
sudo pfs -C disk touch /nvme1n1/hello.txt
sudo pfs -C disk ls /nvme1n1/
其中,nvme1n1指代设备名。
卸载pfsdaemon
卸载pfsdaemon需要root权限。
- 执行如下脚本停止pfsdaemon:
sudo /usr/local/polarstore/pfsd/bin/stop_pfsd.sh nvme1n1
- 使用卸载脚本 uninstall.sh 进行卸载:
sudo ./uninstall.sh