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 디렉터리) 다음 파일을 볼 수 있습니다:path=mode:user_name:group_name입니다. 예를 들어 /mnt/goosefs-lite/test_dir 경로에 755 mode, root 사용자, root 사용자 그룹을 구성하려면 구성 파일에 /mnt/goosefs-lite/test_dir=755:root:root를 추가하면 됩니다.-o default_permissions 매개변수를 포함해야 합니다. 커널(VFS)이 파일 메타데이터의 mode/uid/gid를 기반으로 표준 Unix 권한 검사를 수행합니다. 동시에, 마운트 전에 goosefs-lite.properties 구성 파일에서 구성 항목 goosefs.lite.posix.acl.manager.enabled를 수정하거나 추가하여 true로 설정해야 합니다. 예를 들어 testbucket-1250000000을 /mnt/datadisk0/goosefs-lite-mnt에 마운트하는 명령은 다음과 같습니다:./bin/goosefs-lite mount -o "allow_other,default_permissions" /mnt/datadisk0/goosefs-lite-mnt cosn://testbucket-1250000000/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 | 아니요 |
속성 | 설명 | 기본값 | 필수 항목 |
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/goosefs-mntRestart=alwaysRestartSec=5[Install]WantedBy=multi-user.target
# goosefs-lite의 systemd 구성이 적용되도록 설정systemctl daemon-reload# 백그라운드 Fuse 프로세스 시작 설정systemctl start goosefs-lite# 백그라운드 데몬 프로세스 상태 확인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# 백그라운드 데몬 프로세스 상태 확인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 로그에 출력되는 키입니다.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 -version# 현재 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.cosn.useHttps</name><value>false</value></property>
core-site.xml 구성 파일에서 fs.cosn.bucket.region 속성을 삭제하고 fs.cosn.bucket.endpoint_suffix 매개변수를 추가하십시오(goosefs-lite 1.0.12 이상 버전을 사용 중인 경우 fs.cosn.custom.endpoint_suffix 매개변수 추가).cosn://bucket-appid/path는 적용되지 않으며, 반드시 cosn://bucket-appid 형태로 설정해야 합니다. 이 권한은 버킷 내 객체 목록이 노출되지 않습니다.lsmod | grep fuse 명령어를 실행하여 반환 결과가 있는지 확인하십시오. 결과가 없으면 fuse 커널 모듈이 누락되었음을 의미합니다.피드백