저는 프로덕션 환경에서 OpenStack Object Storage를 사용하고 있는데 복제 속도가 낮다는 큰 문제에 직면해 있습니다.
내 클러스터에는 복제 인수가 3이고 각각 25개의 하드 드라이브가 있는 3개의 지역이 있습니다. 내 컨테이너에는 약 1억 개의 작은 개체가 있습니다. 새 하드 드라이브(영역당 10개)를 추가하고 클러스터 재조정을 시작했으며 재조정이 약 1년 안에 완료될 것이라는 알림을 즉시 받았습니다. Swift는 rsync를 사용하며 rsync를 사용하여 이 객체를 수동으로 복사할 수 있다면 Swift보다 더 빠를 것이라고 생각했습니다.
OpenStack Swift에서 복사 속도를 높이는 방법이 있습니까? 내 생각에 Swift는 복사 프로세스 속도를 높이기 위해 용량을 100% 사용하지 않는 HDD에 대한 "불량자"입니다. 이거 물어보려고 했는데 오픈스택 포럼하지만 답이 없습니다 (.
이것은 내 /etc/swift/object-server.conf입니다.
[DEFAULT]
bind_port = 6000
user = swift
swift_dir = /etc/swift
devices = /mnt/swift
mount_check = True
log_level = ERROR
conn_timeout = 5
container_update_timeout = 5
node_timeout = 5
max_clients = 4096
[pipeline:main]
pipeline = healthcheck recon object-server
[app:object-server]
use = egg:swift#object
replication_concurrency = 1500
replication_one_per_device = False
replication_lock_timeout = 30
[filter:healthcheck]
use = egg:swift#healthcheck
[filter:recon]
use = egg:swift#recon
recon_cache_path = /var/cache/swift
recon_lock_path = /var/lock
[object-replicator]
concurrency = 1500
run_pause = 5
interval = 5
log_level = DEBUG
stats_interval = 10
rsync_io_timeout = 60
[object-reconstructor]
[object-updater]
concurrency = 200
interval = 20
slowdown = 0.008
log_level = DEBUG
[object-auditor]
interval = 300
[filter:xprofile]
use = egg:swift#xprofile
이것은 /etc/rsyncd.conf입니다.
[object]
path = /mnt/swift
read only = false
write only = no
list = yes
incoming chmod = 0644
outgoing chmod = 0644
max connections = 1500
lock file = /var/lock/object.lock