yum install -y fuse-devel
apt install -y libfuse-dev
wget "https://github.com/libfuse/libfuse/releases/download/fuse-2.9.7/fuse-2.9.7.tar.gz"tar xvf fuse-2.9.7.tar.gzcd fuse-2.9.7./configuremake -j8make install
goosefs-lite
软链到 /usr/bin/goosefs-lite
,方便后续直接使用 goosefs-lite 命令。curl -fssL https://downloads.tencentgoosefs.cn/goosefs-lite/install.sh | sh -xcd goosefs-lite-*sudo bash bin/install.sh
goosefs-lite-<具体版本号>
目录下(以1.0.6版本为例,在 goosefs-lite-1.0.6
目录下)使用如下命令安装 KonaJDK 到 /usr/local/konajdk11下:sudo bash bin/install-jdk.sh https://github.com/Tencent/TencentKona-11/releases/download/kona11.0.22/TencentKona-11.0.22.b1-jdk_linux-x86_64.tar.gz
Usage:Command: install-jdk.sh http[s]://host/pathExample: install-jdk.sh https://github.com/Tencent/TencentKona-11/releases/download/kona11.0.22/TencentKona-11.0.22.b1-jdk_linux-x86_64.tar.gzorCommand: install-jdk.sh /path/to/jdk.tar.gzExample: install-jdk.sh /Downloads/TencentKona-11.0.22.b1-jdk_linux-x86_64.tar.gz
goosefs-lite-<具体版本号>
目录下(以1.0.6版本为例,在 goosefs-lite-1.0.6
目录下)修改配置文件有以下两种方式:sed -i '/<name>fs.cosn.userinfo.secretId<\\/name>/{N;s/<value>[^<]*<\\/value>/<value>$SECRET_ID<\\/value>/}' conf/core-site.xmlsed -i '/<name>fs.cosn.userinfo.secretKey<\\/name>/{N;s/<value>[^<]*<\\/value>/<value>$SECRET_KEY<\\/value>/}' conf/core-site.xmlsed -i '/<name>fs.cosn.bucket.region<\\/name>/{N;s/<value>[^<]*<\\/value>/<value>$REGION<\\/value>/}' conf/core-site.xml
goosefs-lite-<具体版本号>/conf
目录下(以1.0.6版本为例,在 goosefs-lite-1.0.6/conf
目录下)目录下,可以看到以下文件:goosefs-lite-<具体版本号>
目录下(以1.0.6版本为例,在 goosefs-lite-1.0.6
目录下)执行如下命令,将密钥文件中配置的存储桶挂载到指定目录:./bin/goosefs-lite mount <MountPoint> cosn://<BucketName>/
/mnt/goosefs-lite-mnt-dir
),此目录必须为空,否则无法挂载。mkdir -p /mnt/goosefs-lite-mnt./bin/goosefs-lite mount /mnt/goosefs-lite-mnt/ cosn://examplebucket-1250000000/
$ ./bin/goosefs-lite statpid mount_point cos_path13815 /mnt/goosefs-lite-mnt/ cosn://examplebucket-1250000000/
./bin/goosefs-lite mount -o "ro,allow_other" mnt/ cosn://examplebucket-1250000000/
-o
指定,例如 -o ro
;多个参数可通过逗号分割,例如 -o "ro,allow_other"
。goosefs-lite-<具体版本号>
目录下(以1.0.6版本为例,在 goosefs-lite-1.0.6
目录下),执行如下命令,即可卸载挂载点:$./bin/goosefs-lite umount /mnt/goosefs-lite-mntUnmount fuse at /mnt/goosefs-lite-mnt/ (PID: 17206).# 如果卸载异常,可以使用以下命令强制卸载$ sudo umount -l /mnt/goosefs-lite-mnt
属性键 | 说明 | 默认值 | 必填项 |
fs.cosn.useHttps | 配置是否使用 HTTPS 作为与 COS 后端的传输协议。 | true | 否 |
fs.cosn.upload.part.size | 分块上传的每个 part size 的大小。由于 COS 的分块上传最多只能支持10000块,因此需要预估最大可能使用到的单文件大小。 例如,part size 为8MB时,最大能够支持78GB的单文件上传。 part size 最大可以支持到2GB,即单文件最大可支持19TB。 | 8388608(8MB) | 否 |
fs.cosn.upload_thread_pool | 文件流式上传到 COS 时,并发上传的线程数目。 | 32 | 否 |
fs.cosn.read.ahead.block.size | 预读块的大小。 | 1048576(1MB) | 否 |
fs.cosn.read.ahead.queue.size | 预读队列的长度。 | 6 | 否 |
fs.cosn.trsf.fs.ofs.tmp.cache.dir | 元数据加速存储桶的临时文件目录。 | 无 | 元数据加速桶必填 |
fs.cosn.trsf.fs.ofs.user.appid | 元数据加速存储桶的 Appid。 | 无 | 元数据加速桶必填 |
fs.cosn.trsf.fs.ofs.bucket.region | 元数据加速存储桶所在的地域,如 ap-shanghai,ap-beijing。 | 无 | 元数据加速桶必填 |
属性 | 说明 | 默认值 | 必填项 |
goosefs.fuse.list.entries.cache.enabled | 是否开启客户端 List 缓存 | true | 否 |
goosefs.fuse.list.entries.cache.max.size | 客户端 List 最大缓存的条目数,单位:条 | 100000 | 否 |
goosefs.fuse.list.entries.cache.max.expiration.time | 客户端 List 缓存的有效时间,单位:ms | 15000 | 否 |
goosefs.fuse.async.release.max.wait.time | open 和 rename 操作的文件正在被写入时,等待写入操作完成的时间,单位:ms | 5000 | 否 |
goosefs.fuse.umount.timeout | 卸载文件系统时,等待未完成操作的时间,单位:ms | 120000 | 否 |
-Xmx512m -XX:MaxDirectMemorySize=512m -XX:+UseG1GC -XX:G1HeapRegionSize=32m
,调整方式如下:export JAVA_OPTS=" -Xms2G -Xmx2G"./bin/goosefs-lite mount /mnt/goosefs-lite-mnt/ cosn://examplebucket-1250000000/ps -ef|grep goosefs-lite|grep -v grep
yum install fuse-devel
apt install libfuse-dev
find / -name libfuse.so*
tar -zxvf fuse-2.9.7.tar.gzcd fuse-2.9.7/ && ./configure && make && make installecho -e '\\n/usr/local/lib' >> /etc/ld.so.confldconfig
find / -name libfuse.so*
cp /usr/local/lib/libfuse.so.2.9.7 /usr/lib64/
rm -f /usr/lib64/libfuse.sorm -f /usr/lib64/libfuse.so.2
ln -s /usr/lib64/libfuse.so.2.9.7 /usr/lib64/libfuse.soln -s /usr/lib64/libfuse.so.2.9.7 /usr/lib64/libfuse.so.2
[Unit]Description=The Tencent Cloud GooseFS Lite for COSRequires=network-online.targetAfter=network-online.target[Service]Type=forkingUser=rootEnvironment="JAVA_OPTS=-Xms2G -Xmx4G -XX:MaxDirectMemorySize=1G -XX:+UseG1GC -XX:G1HeapRegionSize=32m"ExecStart=/usr/local/goosefs-lite-1.0.6/bin/goosefs-lite mount /mnt/goosefs-mnt cosn://examplebucket-1250000000/ExecStop=/usr/local/goosefs-lite-1.0.6/bin/goosefs-lite umount /mnt/goosfs-mntRestart=alwaysRestartSec=5[Install]WantedBy=multi-user.target
# 让 goosefs-lite 的 systemd 配置生效systemctl daemon-reload# 启动后台 Fuse 进程systemctl start goosefs-lite# 查看后台 Daemon 进程状态systemctl status goosefs-lite# 查看挂载点列表/usr/local/goosefs-lite-1.0.6/bin/goosefs-lite stat# 如果是修改systemd配置,则在修改后reload并restart。
systemctl enable goosefs-lite
# 执行卸载,注意:请勿在数据写入的时卸载,否则会导致数据不完整systemctl stop goosefs-lite# 重启操作系统,请谨慎操作,不要影响业务reboot -h now# 查看后台 Daemon 进程状态systemctl status goosefs-lite# 查看挂载点列表/usr/local/goosefs-lite-1.0.6/bin/goosefs-lite stat
apt-get install auditd -y
yum install audit audit-libs
systemctl start auditdsystemctl enable auditd
-w
指定 GooseFS-Lite 挂载目录,-k
为输出在 audit 日志中的 key。auditctl -w /usr/local/service/mnt/ -k goosefs_lite_mnt
ausearch -i|grep 'goosefs_lite_mnt'
/sbin/service auditd stop
/data/goosefs/logs/fuse
下。/data1/data2
,那么日志路径为:/data/goosefs/logs/fuse/root/data1/data2
。/data/goosefs/logs
下。ps aux | grep ${MOUNT_POINT}
,从输出中可以看到 Error_File 或者 goosefs.logs.dir,这个路径的父目录则是该挂载点的全部日志所在位置。/var/log/message*
,如果是 ubuntu,则是 /var/log/syslog
。ping VM-36-104-centos
/etc/hosts
的方式,配置对应的 ip。一般可以配 127.0.0.1
。/etc/hosts
文件中添加一行。这里的 VM-36-104-centos 替换成您的主机名。127.0.0.1 VM-36-104-centos
/root/konajdk11
下。# 确定java版本/root/konajdk11/bin/java -v# 修改当前shell的JAVA环境变量,不影响其他shell和进程export JAVA=/root/konajdk11/bin/java# 挂载goosefs-lite mount /mnt cosn://bucket-appid
ps aux | grep goosefs-lite
,可以看到进程开头是 /root/konajdk11/bin/java
,说明已经使用了我们指定的 java 版本,操作完成。/tmp/mount_point
。ps aux | grep /tmp/mount_point
查看当前是否有进程正在使用这个挂载点,包括 goosefs-lite。如果有,使用 kill 命令杀掉对应的进程。ls /mount_point
umount -l /mount_point
强制卸载。(此命令执行需要 root 权限)core-site.xml
配置文件中,增加如下内容:<property>
<name>
fs.con.useHttps
</name>
<value>
false
</value>
</property>
core-site.xml
配置文件中,将 fs.cosn.bucket.region
属性删除,并添加 fs.cosn.bucket.endpoint_suffix
。cosn://bucket-appid/path
这种是不生效的,必须是cosn://bukcet-appid
。此权限不会暴露桶内有哪些对象。lsmod | grep fuse
,查看是否有返回结果,如果没有说明 fuse 内核模块缺失。
本页内容是否解决了您的问题?