星期五, 9月 29, 2023

Mountpoint for Amazon S3 with openSUSE Leap 15.5 小記

 


Mountpoint for Amazon S3 with openSUSE Leap 15.5 小記


OS: openSUSE Leap 15.5 on GCP


今天要來實作 Mountpoint for Amazon S3  安裝與掛載於 openSUSE Leap 15.5


這次的 OS 我使用 openSUSE Leap 15.5 on GCP


Mountpoint for Amazon S3 套件安裝的部份, 可以參考官方文件


可以顯見的是, openSUSE Leap Linux 沒有在 RPM 支援的 linux 清單內, 如果用上述的 RPM 來進行安裝, 可能會遇到下列的錯誤訊息



Problem: nothing provides 'fuse-libs' needed by the to be installed mount-s3-1.0.1-1.x86_64

 Solution 1: do not install mount-s3-1.0.1-1.x86_64

 Solution 2: break mount-s3-1.0.1-1.x86_64 by ignoring some of its dependencies



但是不要擔心 openSUSE Leap 15.5 使用 Other Linux distributions 方法 - 安裝OK


下載相關檔案

# wget https://s3.amazonaws.com/mountpoint-s3-release/latest/x86_64/mount-s3.tar.gz


建立相關目錄

# mkdir -p  /opt/aws/mountpoint-s3


解壓縮到剛剛建立的目錄

# tar  -C  /opt/aws/mountpoint-s3  -xzf  ./mount-s3.tar.gz


因為是實驗的關係, 先用 export 將這個路徑放到指令的路徑變數

# export  PATH=$PATH:/opt/aws/mountpoint-s3/bin


測試指令並檢查版本

# mount-s3  --version


mount-s3 1.0.2


驗證的部份與 AWS CLI  相關設定一樣

 

下載與安裝 AWS CLI

# curl  "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip"  -o  "awscliv2.zip" 


# unzip  awscliv2.zip 


# ./aws/install


You can now run: /usr/local/bin/aws --version


進行相關設定

# /usr/local/bin/aws  configure  --profile default


AWS Access Key ID [None]: YOUR_KEY_ID

AWS Secret Access Key [None]: YOUR_ACCESS_KEY

Default region name [None]: YOUR_WORK_REGION

Default output format [None]:


  • 這邊請填入該帳號的 AKSK, 然後選常用的 Region

  • 會在 ~/.aws/credentials 與 ~/.aws/config 建立相關設定


測試相關指令

使用剛剛裝的 aws cli 列出目前 S3 的目錄


# /usr/local/bin/aws  s3  ls  --profile  default


2022-11-08 01:45:58 sakana-cloudtrail-logs-20210714


建立掛載目錄

# mkdir  /mnt/s3-mount-test


沒有掛載前先觀察資訊

# ls  /mnt/s3-mount-test/


使用 mount-s3 指令進行掛載 AWS S3

# mount-s3  sakana-cloudtrail-logs-20210714  /mnt/s3-mount-test/  --profile  default --allow-delete


bucket sakana-cloudtrail-logs-20210714 is mounted at /mnt/s3-mount-test/


  • 加上 --allow-delete 之後才可以刪除檔案


觀察相關資訊

# ls  /mnt/s3-mount-test/


AWSLogs


# mount


mountpoint-s3 on /mnt/s3-mount-test type fuse (rw,nosuid,nodev,noatime,user_id=0,group_id=0,default_permissions)


進行相關測試


# mkdir  /mnt/s3-mount-test/sakanatest


# ls  /mnt/s3-mount-test/


AWSLogs  sakanatest


我仿照 Blog 上面的作法, 到高速公路局的網站截了一些路況圖


透過 cp 指令把他複製到我們掛載的目錄

# cp  /home/sakanamax/2023-09-29\ 10-5*  /mnt/s3-mount-test/sakanatest/


觀察資訊

# ls  /mnt/s3-mount-test/sakanatest


2023-09-29 10-51-29 的螢幕擷圖.png  2023-09-29 10-52-06 的螢幕擷圖.png  2023-09-29 10-52-41 的螢幕擷圖.png

2023-09-29 10-51-48 的螢幕擷圖.png  2023-09-29 10-52-21 的螢幕擷圖.png


觀察 AWS S3 console



果然有同步


# cd  /mnt/s3-mount-test/sakanatest/


# ffmpeg  -framerate  10  -pattern_type  glob  -i  "*.png"  sakana.gif


  • ffmpeg 指令可以透過 #zypper install ffmpeg 安裝


以下是我得到的結果 :)


最後來解決重開機掛載的問題, 解法就是用 Service 的方式來做


# vi   /etc/systemd/system/mount.service


[Unit]

Description=Mountpoint for Amazon S3 mount

Wants=network.target

AssertPathIsDirectory=/mnt/s3-mount-test


[Service]

Type=forking

User=root

Group=root

ExecStart=/opt/aws/mountpoint-s3/bin/mount-s3  sakana-cloudtrail-logs-20210714   /mnt/s3-mount-test --profile default --allow-delete

ExecStop=/usr/bin/fusermount  -u  /mnt/s3-mount-test


[Install]

WantedBy=default.target


  • 這邊要注意掛載路徑

  • 然後安裝方法不同 mount-s3 的路徑也會不同

  • user / group 要找時間 Lab


進行測試

# umount  /mnt/s3-mount-test


起動服務

# systemctl  start  mount.service 


觀察資訊

# systemctl  status  mount.service 


● mount.service - Mountpoint for Amazon S3 mount

     Loaded: loaded (/etc/systemd/system/mount.service; disabled; vendor preset: disabled)

     Active: active (running) since Fri 2023-09-29 03:15:42 UTC; 9s ago


接下來設定開機啟動服務即可

# systemctl  enable  mount.service 


Created symlink /etc/systemd/system/default.target.wants/mount.service → /etc/systemd/system/mount.service.


# systemctl  is-enabled  mount.service 


enabled


又多學一招


~ enjoy it


Reference:


沒有留言: