OpenStack Swift หรือ SwiftStack เป็นบริการ Object Storage ที่รองรับการทำงานแบบ Distribution Storage รองรับการทำ Data Replication สามารถ Scale Storage Node ไปได้เรื่อยๆ ทำให้สามารถขยายขนาดของ Storage ทำได้ง่ายมากขึ้น ครั้งนี้ไม่ได้มาแนะนำการติดตั้ง Swift แต่จะมาแนะนำวิธีการใช้งาน Swift อย่างง่าย ผ่าน Command Line ซึ่งสะดวกและรวดเร็วกว่าการใช้งานผ่าน GUI มาก สำหรับท่านที่ไม่มี Swift Server เดี๋ยวเราติดตั้ง SAIO ใช้สำหรับทดลองเล่นได้

สร้าง data container สำหรับเก็บข้อมูล

docker run -v /srv --name SWIFT_DATA busybox

จากนั้นผูก volume จาก data container ไปยัง swift server

docker run -d -p 8080 --volumes-from SWIFT_DATA -t nashtrash/docker-swift-onlyone

เท่านี้เราก็จะได้ swift ใช้งานแบบรวดเร็ว docker ps ดูว่า inernal port ได้ค่าอะไร ขอผมเป็น 0.0.0.0:49153->8080/tcp มาลองทดสอบกัน ติดตั้ง swift cli กันก่อน

apt-get install python-swiftclient

มาลองดู stat กัน

swift -A http://127.0.0.1:49153/auth/v1.0 \
-U test:tester \
-K testing \
stat

คำสั่งที่แนะนำจะแบ่งเป็นบรรทัดเพื่อความเข้าใจง่ายดังนี้

  1. ให้ Swift เชื่อมต่อไปยัง server ไหน
  2. ใช้ Username อะไรสำหรับ Authentication
  3. Auth-Key ที่ใช้สำหรับ Authentication
  4. คำสั่งที่ต้องใช้ทำงาน เช่น upload, download, list, state เป็นต้น

มาลองดูผลลัพท์ของ stat

สร้างไฟล์ swift.txt ขึ้นมาแล้ว upload ไฟล์ไปยัง container ชื่อ swift

echo "Hello Swift" > swift.txt

swift -A http://127.0.0.1:49153/auth/v1.0 \
-U test:tester \
-K testing \
upload swift swift.txt

มาลองดูผลลัพท์ของ stat อีกรอบ

จะพบว่ามี container 1 อัน และ obejct อีก 1 อัน ลองมาดูรายการ object ใน container ชื่อ swift ดูว่ามีอะไรบ้าง

swift -A http://127.0.0.1:49153/auth/v1.0 \
-U test:tester \
-K testing \
list swift

จะพบว่ามีไฟล์ swift.txt อยู่

มาลอง download ไฟล์กันดูบ้าง

swift -A http://127.0.0.1:49153/auth/v1.0 \
-U test:tester \
-K testing \
download swift swift.txt

เราก็จะได้ไฟล์มาดังนี้

Comments are closed.