আমার বিশেষ ক্ষেত্রে আমি সম্পূর্ণরূপে শুরু remote-fs
হওয়ার পরে ইউনিট শুরু করতে চাই glusterfs
।
আমার সিস্টেমযুক্ত ফাইলগুলি:
glusterfs
লক্ষ্য:
node04:/usr/lib/systemd/system # cat glusterfsd.service
[Unit]
Description=GlusterFS brick processes (stopping only)
After=network.target glusterd.service
[Service]
Type=oneshot
ExecStart=/bin/true
RemainAfterExit=yes
ExecStop=/bin/sh -c "/bin/killall --wait glusterfsd || /bin/true"
ExecReload=/bin/sh -c "/bin/killall -HUP glusterfsd || /bin/true"
[Install]
WantedBy=multi-user.target
remote-fs
লক্ষ্য:
node04:/usr/lib/systemd/system # cat remote-fs.target
[Unit]
Description=Remote File Systems
Documentation=man:systemd.special(7)
Requires=glusterfsd.service
After=glusterfsd.service remote-fs-pre.target
DefaultDependencies=no
Conflicts=shutdown.target
[Install]
WantedBy=multi-user.target
ঠিক আছে, সমস্ত গ্লাস্টার ডেমনগুলি সফলভাবে শুরু হয় এবং আমি এনএফএসের মাধ্যমে গ্লাস্টার ফাইল সিস্টেমটি মাউন্ট করতে চাই, তবে গ্লাস্টারের এনএফএস শেয়ারটি glusterfs.service
শুরু হওয়ার সাথে সাথেই প্রস্তুত হয় না , তবে কয়েক সেকেন্ড পরে, তাই সাধারণত remote-fs
এটি সম্পর্কিত Requires
এবং After
নির্দেশাবলীর পক্ষে এটি মাউন্ট করতে অক্ষম ।
লগটি দেখা যাক:
Apr 14 16:16:22 node04 systemd[1]: Started GlusterFS, a clustered file-system server.
Apr 14 16:16:22 node04 systemd[1]: Starting GlusterFS brick processes (stopping only)...
Apr 14 16:16:22 node04 systemd[1]: Starting Network is Online.
Apr 14 16:16:22 node04 systemd[1]: Reached target Network is Online.
Apr 14 16:16:22 node04 systemd[1]: Mounting /stor...
এখানে সবকিছু ঠিক আছে, গ্লাস্টারফ শুরু হওয়ার পরে রিমোট ফাইল সিস্টেম (/ স্টোর) মাউন্ট হবে বলে মনে হচ্ছে, যেমন এটি ইউনিট ফাইল অনুসারে বোঝানো হয়েছিল ... তবে পরবর্তী লাইনগুলি হ'ল:
//...skipped.....
Apr 14 16:16:22 node04 systemd[1]: Started GlusterFS brick processes (stopping only).
কি? গ্লাস্টারএফএস এই মুহুর্তের জন্য প্রস্তুত! এবং তারপরে আমরা দেখতে পেলাম:
//...skipped.....
Apr 14 16:16:23 node04 mount[2960]: mount.nfs: mounting node04:/stor failed, reason given by server: No such file or directory
Apr 14 16:16:23 node04 systemd[1]: stor.mount mount process exited, code=exited status=32
Apr 14 16:16:23 node04 systemd[1]: Failed to mount /stor.
Apr 14 16:16:23 node04 systemd[1]: Dependency failed for Remote File Systems.
Apr 14 16:16:23 node04 systemd[1]: Unit stor.mount entered failed state.
মাউন্ট ব্যর্থ হয়েছে কারণ সিস্টেমড যখন স্টোরেজ মাউন্ট করার চেষ্টা করেছিল তখন এনএফএস সার্ভার প্রস্তুত ছিল না।
সিস্টেমযুক্ত বুট প্রক্রিয়াটির অ-নিষেধাত্মক প্রকৃতির কারণে, কখনও কখনও (10 বুটের মধ্যে প্রায় 1) এই ফাইল সিস্টেমটি বুটে মাউন্ট করা সফল হয়।
যদি অনবুট মাউন্টটি ব্যর্থ হয় তবে আমি সার্ভারে লগইন করতে পারি এবং ম্যানুয়ালি / স্টোর ডিরেক্টরিটি মাউন্ট করতে পারি, সুতরাং গ্লাস্টারের এনএফএস পরিষেবাটি ঠিকঠাকভাবে কাজ করছে বলে মনে হচ্ছে।
সুতরাং কিভাবে remote-fs
পরে শুরু করবেন glusterfsd
, Started GlusterFS brick processes
লগ পরে লাইন প্রদর্শিত পরে ?
remote-fs
একেবারে শেষ লক্ষ্যগুলির মধ্যে একটি বলে মনে হচ্ছে, সুতরাং আমি অন্য "workaround" টার্গেটের পরে এটি শুরু করতে পারি না যা বাস্তবে প্রয়োজন হয় না remote-fs
।
glusterfsd.service
ইউনিট ফাইল দ্বারা সত্যিই বিভ্রান্ত । এটি আসলে কোনও পরিষেবা শুরু করার মতো বলে মনে হচ্ছে না এবং বাস্তবে কোনও প্রক্রিয়া মারা যায়glusterfsd
। আপনার কাছে কি অন্য কোনও গ্লাস্টার-সংক্রান্ত ইউনিট ফাইল রয়েছে?
stor.mount
ইউনিট দেখাতে পারেন ?
ExecStartPre=<command>
এর ইউনিট বিভাগে একটি সম্পত্তি যুক্ত করতে পারেনglusterfsd.service
এমন একটি আদেশ কার্যকর করে যা গ্লাস্টারফস প্রস্তুত না হওয়া অবধি ব্লক হয়ে যাবে? এটিglusterfsd.service
সাফল্যের ইঙ্গিত এবং সক্রিয়করণ থেকে আটকাতে পারেremotefs.target
।