全部产品
Search
文档中心

Object Storage Service:Gunakan akselerator OSS

更新时间:Jul 06, 2025

Fitur Akselerator Object Storage Service (OSS) memungkinkan Anda membuat akselerator yang bekerja dengan alat OSS dan OSS SDK untuk melakukan operasi secara efisien, seperti mengunggah dan mengunduh data. Topik ini menjelaskan cara mengonfigurasi dan menggunakan akselerator OSS dengan alat OSS dan OSS SDK.

Solusi

Anda dapat menggunakan fitur akselerator OSS bersama dengan alat dan OSS SDK berikut untuk mengimplementasikan akses data dengan respons milidetik, latensi rendah, dan throughput tinggi:

  1. Gunakan akselerator OSS bersama dengan ossutil: Tambahkan titik akhir yang dipercepat dari akselerator ke file konfigurasi ossutil.

  2. Gunakan akselerator OSS bersama dengan ossfs: Saat menggunakan ossfs untuk memasang bucket ke direktori lokal, tambahkan titik akhir yang dipercepat dari akselerator ke perintah pemasangan.

  3. Gunakan akselerator OSS bersama dengan OSS Connector untuk AI/ML: Saat menggunakan OSS Connector untuk membangun dataset, Anda dapat menggunakan parameter endpoint untuk meneruskan titik akhir yang dipercepat dari akselerator.

  4. Gunakan akselerator OSS bersama dengan OSS SDK: OSS SDK for Java digunakan sebagai contoh. Saat menginisialisasi instance OSSClient, titik akhir yang dipercepat dari akselerator diteruskan menggunakan parameter endpoint.

Penting

Saat menggunakan akselerator OSS, atur titik akhir yang digunakan untuk mengakses OSS ke titik akhir yang dipercepat dari akselerator. Contohnya:

  • Saat mengonfigurasi ossutil, atur parameter endpoint ke titik akhir yang dipercepat dari akselerator.

  • Saat menggunakan ossfs untuk memasang bucket ke direktori lokal, atur parameter -ourl ke titik akhir yang dipercepat dari akselerator.

Prasyarat

Akselerator telah dibuat. Untuk instruksi, lihat Buat Akselerator OSS.

Solusi 1: Gunakan akselerator OSS bersama dengan ossutil

Gunakan Akselerator OSS Bersama dengan ossutil

Dalam contoh ini, ossutil diinstal pada sistem operasi Linux x86 64-bit. Untuk informasi lebih lanjut tentang cara menginstal ossutil pada sistem operasi lain, lihat Instal ossutil.

  1. Instal ossutil.

    1. Unduh paket instalasi ossutil.

      curl -o ossutil-2.0.3-beta.09261200-linux-amd64.zip https://gosspublic.alicdn.com/ossutil/v2-beta/2.0.3-beta.09261200/ossutil-2.0.3-beta.09261200-linux-amd64.zip
    2. Pergi ke direktori tempat paket instalasi ossutil disimpan dan jalankan perintah unzip berikut:

      unzip ossutil-2.0.3-beta.09261200-linux-amd64.zip
    3. Pergi ke direktori tempat paket diekstraksi dan jalankan perintah berikut:

      chmod 755 ossutil
    4. Jalankan perintah berikut di direktori saat ini untuk memungkinkan ossutil dipanggil secara global:

      sudo mv ossutil /usr/local/bin/ && sudo ln -s /usr/local/bin/ossutil /usr/bin/ossutil
    5. Jalankan perintah berikut. Jika nomor versi ossutil dikembalikan, ossutil 2.0 telah diinstal.

      ossutil version
  2. Konfigurasikan ossutil dan tambahkan titik akhir yang dipercepat dari akselerator.

    1. Buat file konfigurasi ossutil. Anda dapat menentukan jalur dan nama file konfigurasi.

      touch ossutilconfig
    2. Konfigurasikan parameter dan simpan file konfigurasi. Untuk informasi lebih lanjut, lihat Konfigurasikan ossutil.

      #[profile dev]                  Nama bagian. Anda dapat menentukan nama bagian.
      #accessKeyId, accessKeySecret  ID AccessKey dan Rahasia AccessKey dari pengguna RAM.
      #region                        Wilayah tempat bucket berada.
      # buckets=dev-bucket            Gunakan parameter dalam bagian dev-bucket.
      #[buckets dev-bucket]          Nama bagian. Anda dapat menentukan nama bagian.
      #bucketname                    Nama bucket.
      #endpoint                      Titik akhir yang dipercepat dari akselerator.
      
      [profile dev]
      accessKeyId=LTA*********************ICT
      accessKeySecret=V0qK**********************OOKp
      region=cn-hangzhou
      buckets=dev-bucket
      
      [buckets dev-bucket]
      bucket-name =
      #Tentukan titik akhir dari akselerator.
        endpoint=cn-hangzhou-j-internal.oss-data-acc.aliyuncs.com
  3. Gunakan akselerator.

    Dalam contoh berikut, objek diunduh dari bucket ke direktori saat ini bernama test lebih cepat karena akselerator dikonfigurasi di ossutil. Untuk informasi lebih lanjut tentang perintah ossutil, lihat Perintah ossutil.

    Perintah cp digunakan untuk mengunduh objek. Anda dapat menentukan parameter -r untuk melakukan operasi rekursif pada objek di bucket yang ditentukan oleh parameter bucket-name. Parameter -c menentukan jalur file konfigurasi ossutil. Parameter --profile menggunakan konfigurasi di bagian dev.

    ossutil cp -r oss://bucket-name/ ./test/ -c ./ossutilconfig --profile dev

Solusi 2: Gunakan akselerator OSS bersama dengan ossfs

Gunakan Akselerator OSS Bersama dengan ossfs

Dalam contoh ini, ossfs diinstal pada sistem operasi Ubuntu 16.04 x86. Untuk informasi lebih lanjut tentang cara menginstal ossfs versi berbeda pada sistem operasi berbeda, lihat Instal ossfs.

  1. Instal ossfs.

    sudo wget https://gosspublic.alicdn.com/ossfs/ossfs_1.91.3_ubuntu16.04_amd64.deb
    sudo apt-get update
    sudo apt-get install gdebi-core
    sudo gdebi ossfs_1.91.3_ubuntu16.04_amd64.deb
  2. Tambahkan file mime.types.

    Jalankan perintah berikut untuk menambahkan file mime.types guna memastikan bahwa tipe konten objek yang diunggah sesuai dengan ekstensi nama objek:

    sudo apt-get install mime-support
  3. Konfigurasikan ossfs, gunakan ossfs untuk memasang bucket ke sistem file lokal, dan konfigurasikan akselerator untuk bucket. Untuk informasi lebih lanjut tentang cara melakukan operasi pemasangan menggunakan ossfs, lihat Pasang Ruang Penyimpanan.

    1. Simpan ID AccessKey dan Rahasia AccessKey di file konfigurasi akun bernama /etc/passwd-ossfs.

      echo bucket-test:LTAI****************2CT:V0************************OKp > /etc/passwd-ossfs
    2. Atur izin file konfigurasi menjadi 640.

      chmod 640 /etc/passwd-ossfs 
    3. Buat direktori pemasangan.

      mkdir bucket-test
    4. Pasang bucket bernama bucket-test ke direktori /tmp/bucket-test/ dan tentukan titik akhir yang dipercepat dari akselerator.

      ossfs bucket-test /tmp/bucket-test/ -ourl=cn-hangzhou-j-internal.oss-data-acc.aliyuncs.com
  4. Gunakan akselerator.

    Setelah akselerator dikonfigurasi untuk ossfs, Anda dapat melakukan operasi baca dan tulis secara efisien pada objek di bucket yang dipasang ke sistem file lokal. Sebagai contoh, Anda dapat memuat file model yang disimpan di OSS lebih cepat dalam tugas pelatihan model lokal.

Solusi 3: Gunakan akselerator OSS bersama dengan OSS Connector untuk AI atau ML

Gunakan Akselerator OSS Bersama dengan OSS Connector untuk AI atau ML

Contoh berikut menunjukkan cara menginstal OSS Connector untuk AI/ML untuk Python 3.12. Untuk menginstal OSS Connector untuk AI/ML untuk Python versi berbeda, ubah versi Python ke nomor versi tertentu.

  1. Prasyarat:

  • Sistem operasi: Linux x86 64-bit

  • glibc: 2.17 atau lebih baru

  • Python: 3.8 hingga 3.12

  • PyTorch: 2.0 atau lebih baru

  • Untuk menggunakan fitur checkpoint OSS, kernel Linux harus mendukung userfaultfd.

    Catatan

    Dalam contoh ini, Ubuntu digunakan. Anda dapat menjalankan perintah sudo grep CONFIG_USERFAULTFD /boot/config-$(uname -r) untuk memeriksa apakah kernel Linux mendukung userfaultfd. Jika CONFIG_USERFAULTFD=y dikembalikan, kernel Linux mendukung userfaultfd. Jika CONFIG_USERFAULTFD=n dikembalikan, kernel Linux tidak mendukung userfaultfd. Dengan cara ini, fitur checkpoint OSS tidak dapat digunakan.

  1. Instal OSS Connector untuk AI/ML.

    1. Jalankan perintah pip3.12 install osstorchconnector untuk menginstal OSS Connector untuk AI/ML di container yang dihasilkan menggunakan Linux atau image berbasis Linux.

      pip3.12 install osstorchconnector
    2. Jalankan perintah pip3.12 show osstorchconnector untuk memeriksa apakah OSS Connector untuk AI/ML terinstal.

      pip3.12 show osstorchconnector

      Jika informasi versi osstorchconnector dikembalikan, OSS Connector untuk AI/ML telah diinstal.

      image

  2. Konfigurasikan OSS Connector untuk AI/ML.

    1. Buat file konfigurasi untuk kredensial akses.

      mkdir -p /root/.alibabacloud && touch /root/.alibabacloud/credentials
    2. Tambahkan kredensial akses ke file konfigurasi dan simpan file konfigurasi.

      Ganti <Access-key-id> dan <Access-key-secret> dalam contoh dengan ID AccessKey dan Rahasia AccessKey dari pengguna RAM. Untuk informasi lebih lanjut tentang cara membuat ID AccessKey dan Rahasia AccessKey, lihat Buat Pasangan AccessKey. Untuk informasi lebih lanjut tentang item konfigurasi dan konfigurasi menggunakan kredensial akses sementara, lihat Konfigurasikan Kredensial Akses.

      {
        "AccessKeyId": "LTAI************************",
        "AccessKeySecret": "At32************************"
      }
    3. Buat file konfigurasi untuk OSS Connector.

      mkdir -p /etc/oss-connector/ && touch /etc/oss-connector/config.json
    4. Tambahkan konfigurasi OSS connector ke file konfigurasi dan simpan file konfigurasi. Untuk informasi lebih lanjut tentang item konfigurasi, lihat Konfigurasikan OSS Connector.

      Dalam kebanyakan kasus, Anda dapat menggunakan konfigurasi default berikut.

      {
          "logLevel": 1,
          "logPath": "/var/log/oss-connector/connector.log",
          "auditPath": "/var/log/oss-connector/audit.log",
          "datasetConfig": {
              "prefetchConcurrency": 24,
              "prefetchWorker": 2
          },
          "checkpointConfig": {
              "prefetchConcurrency": 24,
              "prefetchWorker": 4,
              "uploadConcurrency": 64
          }
      }
      
  3. Gunakan akselerator.

    Kode sampel berikut memberikan contoh tentang cara menggunakan metode from_prefix OssMapDataset untuk membangun dataset dalam kapasitas cache akselerator: Endpoint menentukan titik akhir yang dipercepat dari akselerator.

    from osstorchconnector import OssMapDataset
    
    # Ganti ENDPOINT dengan titik akhir yang dipercepat dari akselerator.
    ENDPOINT = "cn-hangzhou-j-internal.oss-data-acc.aliyuncs.com"
    # Tentukan jalur file konfigurasi OSS Connector untuk AI/ML.
    CONFIG_PATH = "/etc/oss-connector/config.json"
    # Tentukan jalur file konfigurasi kredensial akses.
    CRED_PATH = "/root/.alibabacloud/credentials"
    # Tentukan jalur direktori bucket.
    OSS_URI = "oss://ai-testset/EnglistImg/Img/BadImag/Bmp/Sample001/"
    
    # Gunakan metode from_prefix OssMapDataset untuk membangun dataset.
    map_dataset = OssMapDataset.from_prefix(oss_uri=OSS_URI, endpoint=ENDPOINT, cred_path=CRED_PATH, config_path=CONFIG_PATH)
    
    # Akses objek dalam dataset yang dibuat secara acak.
    item = map_dataset[0]
    print(item.key)
    content = item.read()
    print(item.size)
    print(len(content))
    
    # Telusuri objek dalam dataset.
    for item in map_dataset:
        print(item.key)
        print(item.size)
        content = item.read()
        print(len(content))
    

Solusi 4: Gunakan akselerator OSS bersama dengan OSS SDK

Gunakan Akselerator OSS Bersama dengan OSS SDK

Dalam contoh berikut, akselerator OSS bekerja dengan OSS SDK for Java. Jika Anda ingin menggunakan akselerator OSS bersama dengan OSS SDK untuk bahasa pemrograman lain, tentukan titik akhir yang dipercepat dari akselerator saat menginisialisasi instance OSSClient.

  1. Prasyarat:

    • Java 1.7.0 atau lebih baru telah diinstal.

    • Anda dapat menjalankan perintah java -version untuk memeriksa versi Java.

  2. Dependensi untuk OSS SDK for Java ditambahkan ke proyek Maven. Untuk informasi lebih lanjut tentang cara mengimpor paket JAR ke OSS SDK for Java, lihat Instalasi.

    Untuk menggunakan OSS SDK for Java di Maven, Anda hanya perlu menambahkan dependensi yang diperlukan ke file pom.xml. Dalam contoh ini, dependensi untuk OSS SDK for Java 3.17.4 ditambahkan.

    <dependency>
        <groupId>com.aliyun.oss</groupId>
        <artifactId>aliyun-sdk-oss</artifactId>
        <version>3.17.4</version>
    </dependency>

    Jika Anda menggunakan Java 9 atau lebih baru, tambahkan dependensi terkait JAXB. Kode sampel berikut memberikan contoh tentang cara menambahkan dependensi terkait JAXB:

    <dependency>
        <groupId>javax.xml.bind</groupId>
        <artifactId>jaxb-api</artifactId>
        <version>2.3.1</version>
    </dependency>
    <dependency>
        <groupId>javax.activation</groupId>
        <artifactId>activation</artifactId>
        <version>1.1.1</version>
    </dependency>
    <!-- tidak lebih dari 2.3.3-->
    <dependency>
        <groupId>org.glassfish.jaxb</groupId>
        <artifactId>jaxb-runtime</artifactId>
        <version>2.3.3</version>
    </dependency>
  3. Gunakan akselerator.

    Kode sampel berikut memberikan contoh tentang cara menggunakan OSS SDK for Java bersama dengan akselerator untuk mengunggah objek. Ganti nilai parameter endpoint dengan titik akhir yang dipercepat dari akselerator.

    import com.aliyun.oss.ClientBuilderConfiguration;
    import com.aliyun.oss.OSS;
    import com.aliyun.oss.OSSClientBuilder;
    import com.aliyun.oss.common.auth.CredentialsProviderFactory;
    import com.aliyun.oss.common.auth.EnvironmentVariableCredentialsProvider;
    import com.aliyun.oss.common.comm.SignVersion;
    
    import java.io.ByteArrayInputStream;
    
    public class OssCliectTest {
        public static void main(String[] args) throws Exception {
            // Tentukan titik akhir yang dipercepat dari akselerator.
            String endpoint = "cn-hangzhou-j-internal.oss-data-acc.aliyuncs.com";
            // Tentukan ID wilayah yang sesuai dengan titik akhir. Contoh: cn-hangzhou.
            String region = "cn-hangzhou";
    
            // Tentukan kredensial akses.
            String alibaba_cloud_access_key_id = "LT********************CT";
            String alibaba_cloud_access_key_secret = "V0q***************************OKp";
    
            // Tentukan nama bucket. Contoh: examplebucket.
            String bucketName = "BucketName";
            // Tentukan jalur lengkap objek. Contoh: exampledir/exampleobject.txt. Jangan sertakan nama bucket dalam jalur lengkap.
            String objectName = "Test.txt";
    
            // Buat instance OSSClient.
            // Panggil metode shutdown untuk melepaskan sumber daya saat OSSClient tidak lagi digunakan.
            ClientBuilderConfiguration clientBuilderConfiguration = new ClientBuilderConfiguration();
            // Secara eksplisit nyatakan penggunaan algoritma tanda tangan V4.
            clientBuilderConfiguration.setSignatureVersion(SignVersion.V4);
            OSS ossClient = OSSClientBuilder.create()
                    .endpoint(endpoint)
                    .credentialsProvider(credentialsProvider)
                    .clientConfiguration(clientBuilderConfiguration)
                    .region(region)
                    .build();
            
            String content = "##################";
            // Unggah konfigurasi variabel konten ke file Test.txt di bucket.
            ossClient.putObject(bucketName,objectName,new ByteArrayInputStream(content.getBytes()));
            
            // Matikan instance OSSClient.
            ossClient.shutdown();
        }
    }