要在遠(yuǎn)程服務(wù)器上掛載阿里云 OSS(對象存儲(chǔ)服務(wù)),通常使用 ossfs 工具,它可以將 OSS bucket 掛載為本地文件系統(tǒng)。以下是詳細(xì)步驟:
一、前提條件
-
擁有阿里云賬號(hào),并已創(chuàng)建:
- 一個(gè) OSS Bucket
- 一個(gè)具有訪問該 Bucket 權(quán)限的 AccessKey(建議使用 RAM 用戶的 AccessKey,并賦予最小權(quán)限)
遠(yuǎn)程服務(wù)器操作系統(tǒng):本文以 Ubuntu/Debian 或 CentOS/RHEL 為例。
二、安裝 ossfs
Ubuntu/Debian
# 添加 GPG 密鑰(如需要)
sudo apt-get update
sudo apt-get install -y g++ git libfuse-dev libcurl4-openssl-dev libxml2-dev mime-support automake libtool
# 克隆 ossfs 源碼(推薦使用最新版)
git clone https://github.com/aliyun/ossfs.git
cd ossfs
./autogen.sh
./configure
make
sudo make install
或者使用預(yù)編譯包(如果可用):
wget https://github.com/aliyun/ossfs/releases/download/v1.93.0/ossfs_1.93.0_ubuntu22.04_amd64.deb
sudo dpkg -i ossfs_1.93.0_ubuntu22.04_amd64.deb
請根據(jù)你的系統(tǒng)版本選擇對應(yīng)
.deb包:https://github.com/aliyun/ossfs/releases
sudo yum install -y gcc gcc-c++ make automake fuse fuse-devel curl-devel libxml2-devel openssl-devel mailcap
git clone https://github.com/aliyun/ossfs.git
cd ossfs
./autogen.sh
./configure
make
sudo make install
或使用 RPM 包(示例):
wget https://github.com/aliyun/ossfs/releases/download/v1.93.0/ossfs-1.93.0-centos7.x86_64.rpm
sudo rpm -ivh ossfs-1.93.0-centos7.x86_64.rpm
三、配置 AccessKey
創(chuàng)建密碼文件(建議僅當(dāng)前用戶可讀):
echo "your-bucket-name:your-access-key-id:your-access-key-secret" > ~/.passwd-ossfs
chmod 600 ~/.passwd-ossfs
四、創(chuàng)建掛載點(diǎn)并掛載
# 創(chuàng)建本地目錄作為掛載點(diǎn)
sudo mkdir -p /mnt/oss
# 掛載(替換 your-bucket-name 和 endpoint)
ossfs your-bucket-name /mnt/oss -ourl=https://oss-cn-hangzhou.aliyuncs.com -o passwd_file=~/.passwd-ossfs
注意:
oss-cn-hangzhou.aliyuncs.com是你的 Bucket 所在區(qū)域的 外網(wǎng) endpoint。如果是內(nèi)網(wǎng)(ECS 同地域),請使用內(nèi)網(wǎng) endpoint(如oss-cn-hangzhou-internal.aliyuncs.com)以節(jié)省流量費(fèi)用。- 可通過
-o allow_other允許其他用戶訪問(需修改/etc/fuse.conf啟用 user_allow_other)。
五、驗(yàn)證掛載
df -h | grep oss
ls /mnt/oss
六、設(shè)置開機(jī)自動(dòng)掛載(可選)
編輯 /etc/fstab(謹(jǐn)慎操作):
your-bucket-name /mnt/oss fuse.ossfs _netdev,allow_other,passwd_file=/root/.passwd-ossfs,url=https://oss-cn-hangzhou-internal.aliyuncs.com 0 0