Score:0

คำจำกัดความบริการ systemd สำหรับ SAP (หรือแอปพลิเคชันอื่น ๆ ) เริ่มต้น

ธง bj

ฉันมีปัญหาในการกำหนดค่าบริการ systemd สำหรับการเริ่มต้นและหยุด SAP (หรือแอปพลิเคชันอื่น ๆ ) ฉันยังใหม่กับการกำหนดค่าบริการ systemd และโปรดเมตตาถามคำถาม "โง่"

สิ่งที่ฉันต้องการ / แผน:

แอปพลิเคชันในกรณีนี้ติดตั้ง SAP บนดิสก์ภายในเครื่องที่ติดตั้งใน /local/hana/H01 และ /local/hana/H01/DB นี่คือระบบไฟล์ซึ่งติดตั้งโดย fstab

มีสคริปต์ที่เริ่มต้น SAP ซึ่งอยู่ใน /local/hana/H01/bin/hana หากคุณเรียกสคริปต์นี้ด้วยพารามิเตอร์ 'start' มันจะเริ่มต้น SAP หรือด้วย 'stop' มันจะยุติ SAP สคริปต์นี้จะยุติลงหลังจากเริ่มต้น SAP แต่กระบวนการของ SAP จะยังคงออนไลน์อยู่

มีการกำหนดค่า NIC เพิ่มเติมสำหรับอินสแตนซ์ SAP นี้ eth0:1; SAP ควรเริ่มทำงานหลังจากที่ NIC พร้อมใช้งาน ผู้ดูแลระบบ SAP พบว่าสะดวกในการเข้าสู่ระบบผ่าน ssh ไปยังโฮสต์เพื่อตรวจสอบปัญหา ดังนั้นหาก SAP ไม่ปิดตัวลง พวกเขาต้องการเชื่อมต่อผ่าน ssh เพื่อตรวจสอบ sshd ไม่ควรยุติก่อนที่ SAP/Appliaction จะหยุดทำงาน

/local/hana/H01/bin/hana (หรือสคริปต์แอปพลิเคชันอื่นๆ) จะเริ่มคำสั่งด้วยสคริปต์การหมดเวลาเพื่อป้องกันการล็อค

ฉันเคยใช้เฟรมเวิร์ก init.d และใช้ runlevel 4 เพื่อเริ่มแอ็พพลิเคชันของฉันในกระบวนการบูตช้า

ฉันได้สร้างการกำหนดค่าบริการ ซึ่งฉันใช้ซ้ำจากบริการที่มีอยู่ ดังนั้นฉันจึงยังไม่เข้าใจตัวเลือกและการอ้างอิงทั้งหมด ฉันต้องการการพึ่งพา runlevel?.target เหล่านี้หรือไม่ มันอยู่ในไฟล์ตัวอย่าง

[หน่วย]
คำอธิบาย=ทรัพยากรระบบสำหรับ SAP HANA H01
ต้องการ=local-fs.target
หลังจาก = local-fs.target
ก่อน = runlevel2.target
ก่อน = runlevel3.target
ก่อน = runlevel4.target
ก่อน = runlevel5.target
ก่อน=shutdown.target
ต้องการ=network.target
After=network-online.target
After=network.service
หลังจาก = sshd.service
หลังจาก = local-fs.target
Conflicts=shutdown.target reboot.target
 
[บริการ]
ประเภท = ส้อม
เริ่มต้นใหม่ = ไม่
StandardOutput=syslog
StandardError=syslog+คอนโซล
หมดเวลาวินาที=0
IgnoreSIGPIPE=ไม่
KillMode=กระบวนการ
RemainAfterExit=ใช่
ExecStart=/local/hana/H01/bin/hana start
ExecStop=/local/hana/H01/bin/hana stop
 
[ติดตั้ง]
WantedBy=multi-user.target

ฉันพลาดอะไรไปหรือเปล่า? มากเกินไป? ข้อเสนอแนะใด ๆ ที่ฉันควรเพิ่มหรือลด

ขอบคุณ ฟราน

cn flag
คุณไม่จำเป็นต้องใช้ "Before" ทุกบรรทัด เพียงใส่ `After=network-online.target` คุณไม่จำเป็นต้องมี `ความขัดแย้ง` มันซับซ้อนเกินไป! มีตัวอย่าง [ที่นี่](https://www.freedesktop.org/software/systemd/man/systemd.service.html)
Franz avatar
bj flag
ขอขอบคุณ! มีอะไรจะพูดเกี่ยวกับการบล็อก [บริการ] ไหม
cn flag
ง่าย ๆ เข้าไว้! :D ไปที่ `Type`, `Restart`, `ExecStart/Stop` และเพิ่มสิ่งต่าง ๆ ตามต้องการ ฉันคิดว่าค่าส่วนใหญ่ของคุณมีค่าเริ่มต้น (เช่น syslog)
Franz avatar
bj flag
ยอดเยี่ยม! ขอบคุณมาก!
Score:0
ธง cn

เพื่อสรุปความคิดเห็น:

ง่าย ๆ เข้าไว้!

[หน่วย]
คำอธิบาย=ทรัพยากรระบบสำหรับ SAP HANA H01
After=network-online.target
 
[บริการ]
ประเภท = ส้อม
เริ่มต้นใหม่ = ไม่
ExecStart=/local/hana/H01/bin/hana start
ExecStop=/local/hana/H01/bin/hana stop
 
[ติดตั้ง]
WantedBy=multi-user.target

ควรทำตั้งแต่เริ่มต้น และทำซ้ำจากจุดนั้นตามความจำเป็น ตัวอย่างเพิ่มเติม: หน้าคน

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา