Bir Object Storage Service (OSS) paketini bağlamak için senaryonuzla uyumlu bir yapılandırma dosyasına ihtiyacınız vardır. Paketi bağlarken bu dosyayı referans olarak kullanın.
Yapılandırma dosyası oluşturma
Her yapılandırma dosyası yalnızca tek bir paketi bağlayabilir. Birden fazla paketi bağlamak için her biri için ayrı bir yapılandırma dosyası oluşturmanız gerekir. Dosya adlarını ve yollarını özelleştirebilirsiniz.
ossfs 2.0 yapılandırma dosyası için istediğiniz adı ve yolu kullanabilirsiniz. Örneğin, /etc/ossfs2.conf adında bir dosya oluşturun.
sudo touch /etc/ossfs2.conf
Erişim kimlik bilgilerini yapılandırma
AccessKey çifti
ossfs 2.0.1 ve sonraki sürümler için, bir OSS paketini bağlamak üzere bir Resource Access Management (RAM) kullanıcısının AccessKey çiftini yapılandırmak amacıyla ortam değişkenlerini kullanın. Bu yöntem daha güvenli ve kullanışlıdır. Ortam değişkenleri kullanılarak yapılandırılan kimlik bilgilerinin yapılandırma dosyasında yeniden belirtilmesine gerek yoktur.
Ortam değişkenleri
export OSS_ACCESS_KEY_ID=LTAI******************
export OSS_ACCESS_KEY_SECRET=8CE4**********************
Yapılandırma dosyası
--oss_endpoint=https://oss-cn-hangzhou-internal.aliyuncs.com
--oss_bucket=bucketName
--oss_access_key_id=AAAI************
--oss_access_key_secret=AAA8x*************************
Örnek RAM rolü
ossfs 2.0.2 ve sonraki sürümlerde, yapılandırma dosyasında bir örnek RAM rolü kullanarak erişim kimlik bilgilerini yapılandırabilirsiniz.
--oss_endpoint=https://oss-cn-hangzhou-internal.aliyuncs.com
--oss_bucket=bucketName
--ram_role=EcsRamRoleOssTest
Harici işlem
ossfs 2.0.5 ve sonraki sürümler, bağımsız bir harici işlemi başlatmak için komut kullanılmasını destekler. Bu işlem, sonucunu standart çıktı aracılığıyla ossfs'ye döndürür.
Güvenlik risklerini önlemek için, kimlik bilgisi oluşturmak üzere kullanılan komutun yetkisiz işlemler veya kullanıcılar tarafından erişilebilir olmadığından emin olun.
Kimlik bilgisi üreten komutun hassas bilgileri stderr'e yazmadığından emin olun; aksi takdirde bu bilgiler yakalama veya günlük kaydı yoluyla yetkisiz kullanıcılara ifşa olabilir.
Uzun süreli kimlik bilgileri
{
"AccessKeyId" : "ak",
"AccessKeySecret" : "sk"
}
Geçici kimlik bilgileri
{
"AccessKeyId" : "ak",
"AccessKeySecret" : "sk",
"Expiration" : "2025-12-29T07:45:02Z",
"SecurityToken" : "token"
}
Expiration alanı, ISO 8601 formatındaki UTC saatini belirtir.
Harici bir işlemi yapılandırmak için aşağıdaki formatı kullanın:
--credential_process=user-cmd
Kullanım durumunuza göre use-cmd değerini ayarlayın. Yapılandırma gereksinimleri şöyledir:
Bir parametre veya dosya adı boşluk içeriyorsa ilgili dizeyi çift tırnak ("") içine alın.
Çalıştırılabilir dosyanın tam yolunu belirtin; örneğin
/bin/bash,/bin/echoveya/bin/curl.Komuta
$HOMEgibi herhangi bir ortam değişkeni eklemeyin.
Yaygın örnekler aşağıda verilmiştir:
/etc/creds.txt gibi geçici bir dosyadan kimlik bilgisi almak için şu yapılandırmayı kullanın:
--credential_process=/bin/cat /etc/creds.txt.Özel bir hizmetten erişim kimlik bilgilerini almak için şu yapılandırmayı kullanın:
--credential_process=/bin/curl <custom_service_endpoint>.
ossfs yalnızca parametrelerin geçerli JSON formatında olduğunu ve gerekli alanları içerdiğini doğrular. Yapılandırdığınız komutun eksiksiz ve geçerli erişim kimlik bilgilerini çıktılarından emin olun. Örneğin, geçici bir dosya kullanıyorsanız dosya güncellemelerinin atomik olduğundan emin olun veya okuma ve yazma işlemleri için karşılıklı dışlamayı zorlamak amacıyla flock gibi mekanizmalar kullanın.
Yapılandırma dosyası formatı
Format
-- öneki bir bağlama seçeneğini ifade eder. <option> seçenek adıdır ve [=<value>] içindeki value buna karşılık gelen değerdir. Köşeli parantezler [] değerin isteğe bağlı olduğunu gösterir.
--<option>[=<value>]
Örnek
# Endpoint of the region where the bucket is located
--oss_endpoint=https://oss-cn-hangzhou-internal.aliyuncs.com
# bucket name
--oss_bucket=bucketName
# AccessKey ID and AccessKey secret. (Optional) For ossfs 2.0.1 and later, you can configure access credentials by using environment variables instead of setting them in the configuration file.
--oss_access_key_id=AAAI************
--oss_access_key_secret=AAA8x*************************
Yapılandırma örnekleri
Bir paketin uç noktasını görüntülemek için Buckets sayfasına gidin, hedef paketi seçin ve ardından sol gezinme bölmesinde Overview öğesine tıklayın. Uç nokta, Port bölümünde görüntülenir. Aşağıdaki örneklerde Çin (Hangzhou) bölgesindeki bir paket kullanılmıştır.
Çin (Hangzhou) bölgesindeki bir paket için uç noktalar şöyledir: Genel uç nokta oss-cn-hangzhou.aliyuncs.com şeklindedir. Klasik ağdaki veya Virtual Private Cloud (VPC) içindeki bir Elastic Compute Service (ECS) örneğinden erişim için dahili uç nokta oss-cn-hangzhou-internal.aliyuncs.com şeklindedir. Küresel yükleme ve indirme işlemleri için aktarım hızlandırma uç noktası oss-accelerate.aliyuncs.com şeklindedir. OSS hızlandırıcı uç noktası ise cn-hangzhou-internal.oss-data-acc.aliyuncs.com şeklindedir. Tüm uç noktalar HTTPS'yi destekler.
Oluşturduğunuz ossfs 2.0 yapılandırma dosyasını açın ve aşağıdaki örneklere göre dosyayı yapılandırın. Tüm örnekler Çin (Hangzhou) bölgesindeki bir dahili uç noktayı kullanır. Bir paketi yalnızca aynı bölgedeki Virtual Private Cloud (VPC) içindeki bir örnekten bağlamak için dahili uç noktaları ve OSS hızlandırıcı uç noktalarını kullanabilirsiniz. Bu uç noktalar daha hızlı ve kararlı veri aktarımları sağlar. Yüksek gecikme süresi ve kararsız internet bağlantıları performans sorunlarına neden olabileceğinden ossfs ile genel bir uç nokta kullanmanızı önermiyoruz.
Tüm paketi bağlama
Bir paketteki tüm dizinleri ve dosyaları yerel bir dizine bağlayın.
# Endpoint of the region where the bucket is located
--oss_endpoint=https://oss-cn-hangzhou-internal.aliyuncs.com
# bucket name
--oss_bucket=bucketName
# AccessKey ID and AccessKey secret (optional for ossfs 2.0.1 and later)
--oss_access_key_id=LTAI******************
--oss_access_key_secret=8CE4**********************
Belirli bir dizini bağlama
Paketi bağlarken, yalnızca paketteki belirli bir dizini yerel bir dizine bağlayın.
# Endpoint of the region where the bucket is located
--oss_endpoint=https://oss-cn-hangzhou-internal.aliyuncs.com
# bucket name
--oss_bucket=bucketName
# Path of the directory in the OSS bucket (optional)
--oss_bucket_prefix=folder-test/folder-prefix/
# AccessKey ID and AccessKey secret (optional for ossfs 2.0.1 and later)
--oss_access_key_id=LTAI******************
--oss_access_key_secret=8CE4**********************
Bellek sınırı ile bağlama
Paketi bağlarken ossfs 2.0 işlemine belirli miktarda bellek ayırabilirsiniz.
Varsayılan olarak ossfs 2.0, veri okuma ve yazma işlemleri için yaklaşık 8 GB'a kadar bellek kullanarak performansı optimize eder. Bellek kaynaklarınız sınırlıysa bellek yetersizliği (OOM) sorunlarını önlemek için total_mem_limit seçeneğini yapılandırın.
# Endpoint of the region where the bucket is located
--oss_endpoint=https://oss-cn-hangzhou-internal.aliyuncs.com
# bucket name
--oss_bucket=bucketName
# Memory limit in bytes (optional)
--total_mem_limit=4294967296
# AccessKey ID and AccessKey secret (optional for ossfs 2.0.1 and later)
--oss_access_key_id=LTAI******************
--oss_access_key_secret=8CE4**********************
Hata ayıklama günlüğü ile bağlama
Günlük düzeyini debug olarak ayarlayın ve günlükleri depolamak için özel bir yol belirtin.
# Endpoint of the region where the bucket is located
--oss_endpoint=https://oss-cn-hangzhou-internal.aliyuncs.com
# bucket name
--oss_bucket=bucketName
# Directory to store logs (optional). Ensure the /tmp/log directory exists.
--log_dir=/tmp/log/ossfs2
# Log level (optional)
--log_level=debug
# AccessKey ID and AccessKey secret (optional for ossfs 2.0.1 and later)
--oss_access_key_id=LTAI******************
--oss_access_key_secret=8CE4**********************
Erişim izinleri ile bağlama
Varsayılan olarak ossfs 2.0, tüm kullanıcıların tüm dosyaları okumasına ve yazmasına izin verir. Daha katı izinlere ihtiyacınız varsa aşağıdaki ayarları kullanın. Bu örnekler yalnızca ossfs 2.0.1 ve sonraki sürümler için geçerlidir.
-
Paketteki tüm dizinleri yerel bir dizine bağlayın ve root olmayan kullanıcılar için okuma ve yazma erişimini reddedin.
# Endpoint of the region where the bucket is located --oss_endpoint=https://oss-cn-hangzhou-internal.aliyuncs.com # bucket name --oss_bucket=bucketName # Deny access to users other than the mounting user --allow_other=false # Global directory permissions --dir_mode=0755 # Global file permissions --file_mode=0644 # AccessKey ID and AccessKey secret (optional for ossfs 2.0.1 and later) --oss_access_key_id=LTAI****************** --oss_access_key_secret=8CE4********************** -
Paketteki tüm dizinleri bağlayın; belirli bir kullanıcıya (
uidvegidile tanımlanır) okuma ve yazma izni verirken diğerlerine yalnızca okuma izni verin.# Endpoint of the region where the bucket is located --oss_endpoint=https://oss-cn-hangzhou-internal.aliyuncs.com # bucket name --oss_bucket=bucketName # Global directory permissions --dir_mode=0755 # Global file permissions --file_mode=0644 # Specific user UID and GID (use the id command to get the user's UID and GID) --uid=1000 --gid=1000 # AccessKey ID and AccessKey secret (optional for ossfs 2.0.1 and later) --oss_access_key_id=LTAI****************** --oss_access_key_secret=8CE4**********************
Sonraki adımlar
ossfs 2.0'ı yükledikten ve yapılandırdıktan sonra bir paketi Linux sisteminize bağlayabilirsiniz. Daha fazla bilgi için bkz. Paket bağlama.
İlgili konular
ossfs 2.0 bağlama seçenekleri hakkında daha fazla bilgi için bkz. Bağlama seçenekleri.