ฉันมีปัญหาในการกำหนดค่าบริการ 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
ฉันพลาดอะไรไปหรือเปล่า? มากเกินไป? ข้อเสนอแนะใด ๆ ที่ฉันควรเพิ่มหรือลด
ขอบคุณ
ฟราน