Bu konu, s3fs, goofys ve Rclone araçlarını kullanarak Object Storage Service (OSS) paketlerini çeşitli işletim sistemlerindeki yerel dosya sistemlerine nasıl bağlayacağınızı açıklar. Bu yöntemle, OSS nesneleri üzerinde yerel dosyalarla aynı şekilde işlem yapabilir ve verileri paylaşabilirsiniz.
Önkoşullar
Bir Resource Access Management (RAM) kullanıcısı oluşturun ve bir AccessKey çifti edinin. Daha fazla bilgi için bkz. RAM kullanıcısı oluşturma.
-
RAM kullanıcısına sistem izinleri veya özel izinler atayın.
Sistem izinleri: RAM kullanıcısının OSS'yi yönetmesine izin vermek için AliyunOSSFullAccess ilkesini veya yalnızca OSS nesnelerine erişmesine izin vermek için AliyunOSSReadOnlyAccess ilkesini ekleyebilirsiniz.
Özel izinler: İş senaryolarınıza göre hassas OSS izin kontrolü uygulamak amacıyla RAM kullanıcısına özel izinler verebilirsiniz. Daha fazla bilgi için bkz. RAM ilkeleri için yaygın örnekler.
s3fs
s3fs, Linux veya macOS işletim sistemlerinde bir OSS paketini yerel dosya sistemine bağlamak için kullanılabilir. Paketi bağladıktan sonra OSS nesneleri üzerinde yerel dosyalarla aynı şekilde işlem yapabilir ve verileri paylaşabilirsiniz. s3fs hakkında daha fazla bilgi için GitHub sayfasını ziyaret edin. s3fs kullanırken karşılaşabileceğiniz sorunların çözümü için SSS bölümüne bakın.
Temel özellikler
POSIX dosya sisteminin çoğu özelliğini destekler. Örneğin, nesne ve dizin yükleyip indirebilir, sembolik bağlantıları ve kullanıcı izinlerini yapılandırabilirsiniz.
Rastgele yazma özelliğini destekler ve mevcut bir nesneye veri eklemenize olanak tanır.
Sabit bağlantıları (hard links) desteklemez.
Büyük nesneleri çok parçalı yükleme (multipart upload) yöntemiyle yükler.
Yerel dosyaları önbellek olarak kullanır.
s3fs ile bir nesne yüklerken veya indirirken nesnenin yerel olarak önbelleğe alınması gerekir. İndirme veya yükleme hızı diskin okuma/yazma performansına bağlıdır. Yerel önbellek boyutu sınırsız büyüyebilir; bu nedenle önbelleği düzenli aralıklarla temizlemeniz önerilir.
Yordam
Bir OSS paketini s3fs kullanarak yerel dosya sistemine bağlamak için aşağıdaki adımları uygulayın:
s3fs'i yükleyin.
Aşağıda Ubuntu, CentOS ve macOS işletim sistemlerinde s3fs kurulum komutlarına örnekler verilmiştir. Diğer işletim sistemlerinde kurulum yapmak için Installation sayfasına bakın.
-
Ubuntu
sudo apt install s3fs -
CentOS
sudo yum install epel-release sudo yum install s3fs-fuse -
Mac
brew install --cask macfuse brew install gromgit/fuse/s3fs-mac
-
Pakete erişmek için kullanılan hesap bilgilerini yapılandırın.
Pakete erişimde kullanılacak AccessKey çiftini /.passwd-s3fs dosyasına kaydedin.
echo ACCESS_KEY_ID:ACCESS_KEY_SECRET > ${HOME}/.passwd-s3fs -
/.passwd-s3fs dosyasının izinlerini 600 olarak ayarlayın.
chmod 600 ${HOME}/.passwd-s3fs -
Paketi bağlayın.
-
Bağlama hedefi oluşturmak için aşağıdaki komutu çalıştırın:
mkdir /tmp/oss-bucket -
China (Hangzhou) bölgesindeki examplebucket paketini /tmp/oss-bucket dizinine bağlamak için aşağıdaki komutu çalıştırın:
s3fs examplebucket /tmp/oss-bucket -o passwd_file=$HOME/.passwd-s3fs -ourl=http://oss-cn-hangzhou.aliyuncs.comNotElastic Compute Service (ECS) örneği ile OSS paketi aynı bölgedeyse, ECS örneğinden pakete erişmek için oss-cn-hangzhou-internal.aliyuncs.com dahili uç noktasını kullanabilirsiniz. Daha fazla bilgi için bkz. Bölgeler ve uç noktalar.
s3fs tarafından desteklenen parametreler hakkında daha fazla bilgi için Options sayfasına bakın.
-
goofys
goofys, Linux veya macOS işletim sistemlerinde bir paketi yerel dosya sistemine bağlamanıza olanak tanır. goofys yalnızca belirli POSIX özelliklerini destekler. Daha fazla bilgi için GitHub sayfasını ziyaret edin.
Temel özellikler
Yalnızca sıralı yazma özelliğini destekler.
Nesne izinlerini ve niteliklerini kaydetmez.
Sembolik bağlantıları ve sabit bağlantıları desteklemez.
Oluşturma zamanı (ctime), erişim zamanı (atime) ve değiştirme zamanı (mtime) aynıdır.
Yerel önbelleklere bağımlı değildir.
Nesne meta verileri üzerindeki işlemler desteklenmez. Nesne meta verilerine dayanan belirli senaryolarda goofys kullanım sınırlamalarına sahiptir.
s3fs'in aksine goofys yerel önbelleklere bağımlı değildir. Bu sayede cp ve mv gibi işlemlerde daha iyi okuma ve yazma performansı sunar. Daha fazla bilgi için Benchmark sayfasına bakın.
Rastgele yazma desteklenmez. goofys daha çok salt okunur senaryolar için uygundur.
İş gereksinimlerinize göre goofys'i kullanabilirsiniz.
Yordam
Bir OSS paketini goofys kullanarak yerel dosya sistemine bağlamak için aşağıdaki adımları uygulayın:
goofys'i yükleyin.
Aşağıda Linux ve macOS işletim sistemlerinde goofys kurulum komutlarına örnekler verilmiştir. Diğer işletim sistemlerinde kurulum yapmak için Installation sayfasına bakın.
-
Linux
curl -SL "https://github.com/kahing/goofys/releases/latest/download/goofys" -o $HOME/goofys chmod u+x $HOME/goofys -
Mac
brew cask install osxfuse brew install goofys
-
Pakete erişmek için kullanılan hesap bilgilerini yapılandırın.
-
Bir yapılandırma dosyası oluşturmak için aşağıdaki komutu çalıştırın:
mkdir ~/.aws -
Yapılandırma dosyasını açmak için aşağıdaki komutu çalıştırın:
vi ~/.aws/credentials -
AccessKey ID ve AccessKey secret'tan oluşan AccessKey çiftini belirtin.
[default] aws_access_key_id = The AccessKey ID that is used to access OSS. aws_secret_access_key = The AccessKey secret that is used to access OSS.
-
-
Paketi bağlayın.
Aşağıdaki örnekte China (Hangzhou) bölgesindeki examplebucket paketi /mnt/oss-bucket dizinine bağlanmıştır.
-
Bağlama hedefi oluşturmak için aşağıdaki komutu çalıştırın:
mkdir /mnt/oss-bucket -
examplebucket paketini /mnt/oss-bucket dizinine bağlamak için aşağıdaki komutu çalıştırın:
$HOME/goofys --endpoint http://oss-cn-hangzhou.aliyuncs.com --subdomain examplebucket /mnt/oss-bucketNotYukarıdaki örnekte sanal alan adını etkinleştirmek için --subdomain seçeneği gereklidir. Bağlanacak paket, paketin bulunduğu bölgenin uç noktası ve bağlama hedefi gibi diğer seçenekler gereksinimlerinize göre değiştirilebilir.
ECS örneği ile OSS paketi aynı bölgedeyse, ECS örneğinden pakete erişmek için oss-cn-hangzhou-internal.aliyuncs.com dahili uç noktasını kullanabilirsiniz.
-
Rclone
Rclone, buluttaki verileri yönetmek için kullanılan ve 50'den fazla bulut depolama hizmeti arasında veri senkronizasyonunu destekleyen bir komut satırı programıdır. Rclone, Windows işletim sisteminde paketleri yerel dosya sistemlerine bağlamanıza olanak tanır. Böylece paketleri yerel diskler gibi kullanarak verileri paylaşabilirsiniz.
Temel özellikler
Dosya senkronizasyonu, dosya aktarımı, dosya şifreleme ve paket bağlamayı destekler.
Çeşitli işletim sistemlerinde bir paketi yerel dosya sistemine bağlamanıza ve çeşitli protokoller üzerinden hizmet sunmanıza olanak tanır.
Daha fazla bilgi için Rclone syncs your files to cloud storage sayfasını ziyaret edin.
Yordam
Windows işletim sisteminde bir OSS paketini Rclone kullanarak yerel dosya sistemine bağlamak için aşağıdaki adımları uygulayın:
-
Winfsp'yi indirmek ve yüklemek için ekrandaki talimatları izleyin.
Bu örnekte winfsp-1.12.22339 sürümü indirilmiştir. winfsp-1.12.22339'u indirmek için WinFsp 2023t sayfasını ziyaret edin.
-
Rclone'u indirin.
Bu örnekte rclone-v1.60.1-windows-amd64 sürümü indirilmiştir. rclone-v1.60.1-windows-amd64'ü indirmek için Downloads sayfasını ziyaret edin. Rclone bir komut satırı programıdır. Kurulum paketini indirdikten sonra D:\Rclone gibi yerel bir dizine çıkartmanız yeterlidir.
-
Rclone'u yapılandırın.
D:\Rclone dizinini ortam değişkenlerine ekleyin.
-
Bir komut satırı arabirimi (CLI) açın, rclone --version yazın ve Enter tuşuna basın.
rclone 1.60.1 yanıtını alıyorsanız Rclone yüklüdür.
rclone config komutunu girin ve Enter tuşuna basın.
-
n yazıp Enter tuşuna basarak yeni bir uzak bağlantı oluşturun.
Bu örnekte yeni uzak bağlantının adı test-remote olarak belirlenmiştir.
oss-disk gibi bir disk adı girin ve Enter tuşuna basın.
Amazon S3 Compliant Storage içeren seçeneği belirleyin veya 5 yazıp Enter tuşuna basın.
Alibaba Cloud Object Storage System (OSS) içeren seçeneği belirleyin veya 2 yazıp Enter tuşuna basın.
CLI'da env_auth> görüntülendiğinde Enter tuşuna basın.
CLI'da access_key_id> görüntülendiğinde OSS'e erişmek için kullanılan AccessKey ID'yi girin ve Enter tuşuna basın.
CLI'da secret_access_key> görüntülendiğinde OSS'e erişmek için kullanılan AccessKey secret'ı girin ve Enter tuşuna basın.
-
CLI'da endpoint> görüntülendiğinde OSS'e erişmek için kullanılan uç noktayı girin ve Enter tuşuna basın.
Örneğin, paket China (Hangzhou) bölgesindeyse uç nokta olarak oss-cn-hangzhou.aliyuncs.com değerini girin. Windows çalışan bir ECS örneği ile OSS paketi aynı bölgedeyse, ECS örneğinden pakete erişmek için oss-cn-hangzhou-internal.aliyuncs.com dahili uç noktasını kullanabilirsiniz.
-
CLI'da acl> görüntülendiğinde nesne erişim kontrol listesini (ACL) seçin ve Enter tuşuna basın.
Bu seçenek yalnızca yeni yüklenen nesneler için geçerlidir. Gereksinimlerinize göre nesne ACL'sini seçebilirsiniz. Bu örnekte nesne ACL'sini varsayılan (default) olarak ayarlamak için 1 girilmiştir. default değeri, nesne ACL'sinin özel (private) olduğunu gösterir.
-
CLI'da storage_class> görüntülendiğinde nesne depolama sınıfını seçin ve Enter tuşuna basın.
Bu örnekte nesne depolama sınıfını varsayılan (default) olarak ayarlamak için 1 girilmiştir. default değeri, nesne depolama sınıfının paketten miras alındığını gösterir.
CLI'da Edit advanced config?(y/n) görüntülendiğinde n yazın ve Enter tuşuna basın.
Yapılandırmayı tamamlamak için q yazın.
-
Paketi bağlayın.
Aşağıdaki örnek kod, examplebucket adlı bir paketi E: sürücüsüne bağlama ve D:\disk-cache dizinini önbellek dizini olarak kullanma işlemini gösterir:
rclone mount oss-disk:/examplebucket E: --cache-dir D:\disk-cache --vfs-cache-mode writes"The service rclone has been started" mesajı döndürülürse examplebucket paketi E: sürücüsüne bağlanmış demektir. Bu durumda examplebucket(E:) sürücüsünü görüntüleyebilirsiniz.