İçeriğe geç
TREN
Atlıhan Harita

LCC Studio Linux Kullanım Kılavuzu

Konteyner Başlatma Parametreleri Kılavuzu

Bölüm 04 / 09Kılavuz sürümü v1.6.0Türkçe

3 Yazılımı Başlatma

3.1 LCC Yeniden Oluşturma Yazılımı Docker Sürümü İmajını İndirme ve Kurma

  • lcc-rebuild-cloud-server-tag-x.x.x.tar.gz imaj dosyasını indirin [indirme adresi XGRIDS teslimat personeli tarafından sağlanır] ve içe aktarma komutunu çalıştırın:
Download URL:
https://cdn-bukbb1.xgrids.cloud/developer/deploy/lcc/lcc-rebuild-cloud-server-tag-x.x.x.tar.gz

Decompress with gunzip and import the image with docker load:
gunzip -c lcc-rebuild-cloud-server-tag-x.x.x.tar.gz | docker load

The imported tag version is as follows:
lcc-rebuild-cloud-server:tag-x.x.x

3.2 İmaj Başlatma Komutları

3.2.1 LCC Yeniden Oluşturma Yazılımı İmajını Başlatma

LCC yeniden oluşturma yazılımı Docker imajı olarak sunulur ve docker komutuyla başlatılır. Başlatma parametrelerinin ayrıntılı açıklamaları için Bölüm 3.3'e bakın.

Example startup command for the offline license edition:

sudo docker run -d --gpus "device=0" -p 8080:8080 -v /local_work_folder:/work  -v /local_work_folder/db-0:/app/db    -e CODEMETER_SERVER=<private-license-server-ip> lcc-rebuild-cloud-server:tag-v1.0.0-offline-20250319010823

3.2.2 Referans: Consul Kayıt Defterini Hızlı Başlatma [Küme Sürümü İçin Gereklidir]

Tek makineli çoklu GPU sunucusunda küme modu kullanılarak birden fazla konteyner düğümü başlatılırken Consul kayıt defteri desteği gerekir.

Veri merkezi ortamınızda Consul kayıt defteri altyapısı yoksa, aşağıda Docker kullanarak Consul kayıt defteri hizmetini hızlıca başlatmaya yönelik bir örnek verilmiştir:

sudo docker run -d --restart always --name=consul -p 8300:8300 -p 8301:8301 -p 8302:8302 -p 8500:8500 -p 8600:8600 hashicorp/consul:1.20 agent -server -ui -node=n1 -bootstrap-expect=1 -client='0.0.0.0'

Note:
1. This example runs Consul in standalone mode with no cluster or DNS service requirements; the host only needs port 8500 open (Web UI and API).
2. If Consul itself is deployed in cluster mode, ports 8300, 8301, 8302 and 8400 must be open between Consul nodes; open port 8600 if DNS service discovery is required. See the official Consul documentation for details.

3.2.3 Referans: MySQL Veritabanını Hızlı Başlatma

LCC yeniden oluşturma yazılımına ait görev bilgileri ve benzeri veriler kalıcılık için bir veritabanında saklanır.

Mevcut sürüm iki veritabanını destekler: [gömülü SQLite DB dosyası] ve [MySQL veritabanı]. Yapılandırma yöntemleri için Bölüm 3.3'e bakın.

Veri merkezi ortamınızda MySQL veritabanı altyapısı yoksa, aşağıda bir MySQL 8 imajı kullanarak MySQL veritabanı hizmetini hızlıca başlatmaya ve gerekli veritabanı ile kullanıcıyı oluşturmaya yönelik bir örnek verilmiştir:

# MySQL 8 is recommended. Set the character set to support unicode at startup, create the lcc-storage-0 database, and use the /data/lcc/mysql8-data directory for data persistence
sudo docker run -d --restart=always   --name mysql8 -e MYSQL_CHARACTER_SET_SERVER=utf8mb4 -e MYSQL_COLLATION_SERVER=utf8mb4_unicode_ci  -e MYSQL_ROOT_PASSWORD=xxxx   -e MYSQL_DATABASE=lcc-storage-0   -v /data/lcc/mysql8-data:/var/lib/mysql   -p 3306:3306 mysql:8.0

# Log in, create a database user for the LCC software, and grant it privileges on the lcc-storage-0 database
CREATE USER 'lcc-user-0'@'%' IDENTIFIED BY '<password>';
GRANT ALL PRIVILEGES ON `lcc-storage-0`.* TO 'lcc-user-0'@'%';

3.3 Konteyner Başlatma Parametreleri Açıklaması

3.3.1 Genel Parametreler

ParametreGereklilikAnlamı
-dİsteğe BağlıKonteyneri arka plan modunda çalıştırır. Konteyner başladıktan sonra komut satırı hemen geri döner, konteyner ise arka planda çalışmaya devam eder.
--pull alwaysİsteğe Bağlıİmajın yerelde bulunup bulunmadığına bakmaksızın, her zaman uzak depodan en son imaj sürümünü çekmeyi dener.
Yalnızca uzak imaj deposu açıkça kullanılıyorsa ve teslimat etiketi kilitliyse kullanın. İmaj çevrimdışı içe aktarılırken uzak depoya erişmemek veya başlatma sırasında sürüm kaymasına yol açmamak için bu parametreyi kullanmayın.
--restart alwaysÖnerilirDocker konteynerinin yeniden başlatma politikasını doğru ayarlamak, konteyner içindeki işlemin anormal çıkıştan sonra otomatik olarak kurtarılmasını sağlar ve böylece uygulama kararlılığını artırır.
--name=lcc-rebuild-0ÖnerilirBu konteynere lcc-rebuild-0 adını verir.
Konteyner yönetimini kolaylaştırmak için her konteynere sistematik bir ad vermeniz önerilir; örneğin GPU kartıyla tutarlı olacak şekilde.
--gpus "device=0"ZorunluKonteynerin kullandığı GPU numarasını belirtir. 0, ilk ekran kartıdır.
Not:
1. Tek bir konteyner şu anda birden fazla ekran kartını desteklemez, aksi halde bir istisna oluşur.
2. Konteyner başlatılırken --privileged=true parametresini kullanmayın, aksi halde GPU kullanımında çakışmalar meydana gelir.
-p 8080:8080GerekliKonteyner düğümünün API portunu ana makinenin 8080 portuna eşler
Not: Docker konteyneri içindeki API portu 8080 olarak sabittir; ana makine port eşlemesi özelleştirilebilir.
-e APP_MODE=CLUSTER_MAINKonteyner küme modu kullanılırken gereklidir
  • Bu parametre ayarlanmayabilir; varsayılan mod APP_MODE=STAND_ALONE'dır. Bu, konteynerin tek düğüm modunda başlatılması anlamına gelir. Her konteyner, LCC yeniden oluşturma işlemini yapan bağımsız bir düğümdür.

Satın alınan lisans [Cluster Mode Authorization] içeriyorsa APP_MODE şu değerlere ayarlanabilir:

  • APP_MODE=CLUSTER_MAIN, küme modunda (tek makine, çoklu GPU, çoklu konteyner) başlatma anlamına gelir. Aynı zamanda bu konteyner kümenin ana düğümüdür.
  • APP_MODE=CLUSTER_SUB, bu konteynerin alt düğüm olduğu anlamına gelir.

Not:
Tek makineli çoklu GPU konteyner kümelerinin her birinde yalnızca bir ana düğüm bulunabilir. Alt düğümler yalnızca ana düğüm tarafından işlem birimi olarak çağrılabilir. Birden çok düğüm birlikte daha büyük bir yeniden oluşturma görevini tamamlar.

-e SERVICE_ACCESS_KEY=y6veraİsteğe BağlıGeçerli konteynerin API'si çağrılırken kimlik doğrulama için gereken accessKey alanını belirtir.
Varsayılan değer y6vera'dır. Konteynerde bu parametre ayarlanırsa WebUI'dan veya diğer iş sistemlerinden API'ye erişirken değeri aynı şekilde değiştirdiğinizden emin olun; aksi halde çağrı düzgün çalışmaz.
-e JOB_QUEUE_CONTROL=ON/OFFİsteğe BağlıKonteyner başlatıldığında kuyruktaki görevlerin otomatik olarak çalıştırılmaya başlanıp başlanmayacağını belirler. Varsayılan değer ON'dur.
※ Bir yeniden oluşturma görevi sürerken yeni eklenen görevler, başlamayı beklemek üzere veritabanındaki görev listesinde geçici olarak saklanabilir.
ParametreGereklilikAnlamı
Çevrimdışı Yetkilendirme Modu
-e CODEMETER_SERVER=192.168.68.205Çevrimdışı yetkilendirme için gereklidirÇevrimdışı yetkilendirme modunda, geçerli veri merkezindeki CodeMeter sunucusunun adresi.
Çevrimiçi Yetkilendirme Modu
-e LICENSE_SERVER=CN veya INTL
-e LICENSE_KEY=xxxxxxx
Çevrimiçi yetkilendirme için gereklidir

Çevrimiçi yetkilendirme modunda, yetkilendirmenin istendiği XGRIDS bulut sunucusunun adresi.

  • LICENSE_SERVER=CN olduğunda, çevrimiçi yetkilendirme doğrulaması Çin anakarasındaki yetkilendirme sunucusundan istenir.
  • LICENSE_SERVER=INTL olduğunda, çevrimiçi yetkilendirme doğrulaması Avrupa'da bulunan yurt dışı yetkilendirme sunucusundan istenir.

LICENSE_KEY, XGRIDS tarafından satılan çevrimiçi yetkilendirme anahtarıdır.

3.3.3 Küme Modu İçin Gerekli Parametreler

ParametreGereklilikAnlamı
-e SERVICE_REGISTER=http://registry-IP:registry-portKüme modunda başlatırken gereklidirCONSUL kayıt defterinin adresi ve portu.
Bağımsız bir CONSUL hizmetiniz varsa o hizmetin IP'sini ve portunu girin.
CLUSTER_MAIN düğümünü doğrudan kayıt defteri olarak kullanıyorsanız IP adresi olarak ana makinenin yerel IP'sini, port numarası olarak ana düğüm konteynerinin dışarıya açtığı kayıt defteri portu olan 8500'ü kullanın
-e SERVICE_ADDRESS=Bu konteynerin dışarıya açtığı IP adresi
-e SERVICE_PORT=Bu konteynerin dışarıya açtığı ana makine portu
Küme modunda başlatırken gereklidirGeçerli konteynerin, kayıt defterine hizmet düğümü olarak kaydolurken kullandığı kendi IP adresi ve API hizmet portu
Topoloji 1: CLUSTER_MAIN ana düğümünün yerleşik Consul'ü kullanılırken LCC ana konteynerinin 8500 portunu eşlemeniz gerekir. Topoloji 2: Bağımsız Consul kullanılırken LCC ana konteynerinin 8500 portunu eşlemeyin ve SERVICE_REGISTER'ı bağımsız Consul adresine yönlendirin:
-p 8500:8500Yalnızca yerleşik Consul topolojisinin ana düğümü
İsteğe bağlı

CLUSTER_MAIN, yerleşik Consul'ü destekler; bu topolojiyi kullanırken yalnızca ana konteynerin 8500 portunu eşlemeniz yeterlidir. Bağımsız Consul kullanılırken LCC ana konteyneri 8500 portunu eşlemez.
Yerleşik mod örneği: ana makinenin 8500 portu (özelleştirilebilir), LCC ana konteyneri içindeki sabit 8500 portuna eşlenir.

  • Ayrı bir Consul kayıt defteri dağıtmanız önerilir. [Standalone CONSUL Registry Container] ile ilgili açıklamaya bakın

3.3.4 Veri Dizini Bağlama

ParametreGereklilikAnlamı
-v /local_work_folder:/workGerekli

Docker konteynerindeki /work dizini bir ana makine dizinine bağlanmalıdır.

  • Çalışma sırasında oluşturulan günlükler vb. bu dizine kalıcı olarak kaydedilir. Bu, sorun gidermeyi kolaylaştırır.
  • Çalışma sırasında IO performansını sağlamak için yüksek hızlı bir diske bağlanmalıdır.
  • Konteyner küme modu kullanılırken, aynı kümedeki tüm konteynerlerin ana makinede aynı konuma bağlanması gerektiğine dikkat edin. Bu kümenin veritabanı verileri de bu konumda saklanır.
-v /data01:/data01 vb.İsteğe Bağlıİş verilerini içeren yolları gerçek iş gereksinimlerine göre bağlayın.
Bağlandıktan sonra dizine konteyner içindeki işlemler erişebilir.
Not:
Küme modunda her düğüm tamamen aynı yolları bağlamalıdır.
Bu dizinler veri giriş ve çıkış dizini olarak kullanılıyorsa IO performansları sağlanmalıdır.
ParametreGereklilikAnlamı
-e DB_TYPE="mysql" veya "sqlite"İsteğe BağlıSistem şu anda iki veritabanı türünü destekler: gömülü veritabanı SQLite veya MySQL
Bu parametre ayarlanmazsa görev bilgilerinin kalıcı depolanması için varsayılan olarak SQLite kullanılır.
"mysql" olarak belirtilirse görev bilgilerinin kalıcı depolanması için bir MySQL veritabanına bağlanabilir.
DB_TYPE="sqlite" olduğunda, db dizinini bağlayarak veritabanı dosyasını bir ana makine dizinine kalıcı olarak kaydedebilirsiniz:
-v /data/lcc-work/db-0:/app/dbSTAND_ALONE modu kullanılırken önerilirSTAND_ALONE modunda, her konteyner düğümünün veritabanı verilerini kalıcı olarak saklamak için her konteynerin docker konteynerindeki /app/db dizinini farklı bir ana makine dizinine bağlaması önerilir.
Böylece konteyner silinse bile geçmiş yeniden oluşturma görevi bilgileri korunabilir.
Not:
Birden çok STAND_ALONE konteyneri aynı ana makine dizinini /app/db'ye bağlarsa, birden çok düğümün tek bir veritabanı dosyasını okuyup yazması nedeniyle hatalar oluşur.
-v /data/lcc-work/db:/work/dbCLUSTER modu kullanılırken isteğe bağlıdırDB_TYPE="sqlite" iken ve CLUSTER modunda başlatıldığında, konteynerin varsayılan veritabanı dizini /work/db'dir.
CLUSTER modunda aynı kümedeki konteyner düğümleri aynı /work dizinini mutlaka bağlamalıdır. Bu nedenle genellikle ayrıca bağlamaya gerek yoktur ve veritabanı dosyası da /work/db dizinine kalıcı olarak kaydedilebilir.
DB_TYPE="mysql" olduğunda, harici bir MySQL veritabanına bağlanmak için aşağıdaki parametreleri belirtin
-e DB_USER="userxxx"
-e DB_PASSWORD="pwdxxxxx"
-e DB_HOST="192.168.11.11"
-e DB_PORT="3306"
-e DB_NAME="lcc-storage-0"
DB_TYPE="mysql" olduğunda gereklidirNot:
DB_USER, DB_NAME ile belirtilen veritabanında DDL yetkisine sahip olduğu sürece
veritabanının tablo yapısının önceden oluşturulması gerekmez.
ParametreGereklilikAnlamı
-e WEBUI=ON/OFFİsteğe BağlıVarsayılan: KAPALI
AÇIK olduğunda API portunda varsayılan olarak bir WebUI arayüzü açılır ve işlevsel işlemler bu arayüzden yapılabilir
-e RESULT_AUTO_ZIP="ON" veya "OFF"İsteğe BağlıLCC model sonucu oluşturulduktan sonra bir zip arşivi oluşturulup oluşturulmayacağını belirler. Arşiv, WebUI arayüzündeki Download düğmesiyle indirilebilir

3.4 Veri Dizini Yönetimi Model Referansı

  • ※Öneri※ İş sistemi, /local_work_folder içinde farklı görevler için ayrı iş dizinleri oluşturabilir.
  • Bu dizinin içinde, girdi verilerinin saklanacağı dizin olarak bir input dizini oluşturun;
  • Algoritma çıktı sonuçlarının alınacağı dizin olarak bir output dizini oluşturun.
  • Örnek:
/local_work_folder
    L /job001
        L /input   # Place the scan project data from the Lixel device in the input directory
        L /output  # The algorithm writes result data to the output directory
    L /job002
        L /input
        L /output

3.5 Test Yeniden Oluşturma Veri Örnekleri

  • input dizinine yerleştirilen L2 Pro tarama projesi veri örnekleri şekilde gösterilmiştir:
L2 Pro verileri

3.6 [YALNIZCA ÇİN ANAKARASI] Docker İmaj Kaynağına Bağlanamama Sorunu

Çin anakarasındaki ağ kısıtlamaları nedeniyle Consul ve MySQL gibi imajlar Docker'ın resmi kaynağından çekilemeyebilir. Bu sorunu çözmek için yerel bir imaj kaynağı yapılandırmanız önerilir

1. Kayıt defteri yansısını ayarlamak için /etc/docker/daemon.json dosyasını düzenleyin. Komut şöyledir:

sudo vim /etc/docker/daemon.json <<EOF
{
    "registry-mirrors": [
        "https://docker.1panel.live/"
    ]
}
EOF

2. Docker'ı yeniden başlatın:

systemctl daemon-reload
systemctl restart docker

Bu bölüm XGRIDS'in resmî kullanım kılavuzundan Türkçeye çevrildi; ekran görüntüleri ve arayüz adları özgün haliyle İngilizcedir. İngilizce aslı (yeni sekmede açılır) · Güncelleme:

XGRIDS Türkiye

Kurulumda ve Sahada Yanınızdayız

Atlıhan Harita; cihaz kurulumu, firmware güncellemesi, yazılım kullanımı ve saha uygulamalarında eğitim ve teknik destek verir. Sorunuzu iletin, uzmanımız size dönsün.

+90 216 546 0804