জেডএফএস ডেটাসেটগুলি পুনরায় বুটে চলে যায়


13


আমি আমার সেন্টোস 7 এ জেডএফএস (0.6.5) ইনস্টল করেছি এবং আমি একটি জপুলও তৈরি করেছি, আমার ডেটাসেটগুলি পুনরায় বুট করার পরে অদৃশ্য হয়ে যায় তার চেয়ে সবকিছু ঠিকঠাক কাজ করে।
আমি বিভিন্ন অনলাইন সংস্থান এবং ব্লগের সাহায্যে এই ইস্যুটি ডিবাগ করার চেষ্টা করছি কিন্তু কাঙ্ক্ষিত ফলাফল পেতে পারি নি।
রিবুট করার পরে, যখন আমি zfs listকমান্ডটি প্রকাশ করি তখন আমি "কোনও ডেটাসেট উপলব্ধ নেই" পেয়েছি এবং "কোনও পুল উপলব্ধ নেই"zpool list দেয় অনেক অনলাইন গবেষণা করার পরে, আমি নিজেই zpool আমদানি -c ক্যাশেফিল ব্যবহার করে ক্যাশে ফাইলটি আমদানি করে এটি কাজ করতে পারি , তবে তবুও আমাকে পুনরায় বুট করার আগে zpool সেট ক্যাশেফিল = / etc / zfs / zpool.cache পুল চালাতে হয়েছিল যাতে এটি পুনরায় বুটের পরে আমদানি করতে পারে। এই কি

systemctl status zfs-import-cache দেখতে,

zfs-import-cache.service - Import ZFS pools by cache file Loaded: loaded (/usr/lib/systemd/system/zfs-import-cache.service; static) Active: inactive (dead)

cat /etc/sysconfig/zfs

# ZoL userland configuration.

# Run `zfs mount -a` during system start?
ZFS_MOUNT='yes'

# Run `zfs unmount -a` during system stop?
ZFS_UNMOUNT='yes'

# Run `zfs share -a` during system start?
# nb: The shareiscsi, sharenfs, and sharesmb dataset properties.
ZFS_SHARE='yes'

# Run `zfs unshare -a` during system stop?
ZFS_UNSHARE='yes'

# Specify specific path(s) to look for device nodes and/or links for the
# pool import(s). See zpool(8) for more information about this variable.
# It supersedes the old USE_DISK_BY_ID which indicated that it would only
# try '/dev/disk/by-id'.
# The old variable will still work in the code, but is deprecated.
#ZPOOL_IMPORT_PATH="/dev/disk/by-vdev:/dev/disk/by-id"

# Should the datasets be mounted verbosely?
# A mount counter will be used when mounting if set to 'yes'.
VERBOSE_MOUNT='no'

# Should we allow overlay mounts?
# This is standard in Linux, but not ZFS which comes from Solaris where this
# is not allowed).
DO_OVERLAY_MOUNTS='no'

# Any additional option to the 'zfs mount' command line?
# Include '-o' for each option wanted.
MOUNT_EXTRA_OPTIONS=""

# Build kernel modules with the --enable-debug switch?
# Only applicable for Debian GNU/Linux {dkms,initramfs}.
ZFS_DKMS_ENABLE_DEBUG='no'

# Build kernel modules with the --enable-debug-dmu-tx switch?
# Only applicable for Debian GNU/Linux {dkms,initramfs}.
ZFS_DKMS_ENABLE_DEBUG_DMU_TX='no'

# Keep debugging symbols in kernel modules?
# Only applicable for Debian GNU/Linux {dkms,initramfs}.
ZFS_DKMS_DISABLE_STRIP='no'

# Wait for this many seconds in the initrd pre_mountroot?
# This delays startup and should be '0' on most systems.
# Only applicable for Debian GNU/Linux {dkms,initramfs}.
ZFS_INITRD_PRE_MOUNTROOT_SLEEP='0'

# Wait for this many seconds in the initrd mountroot?
# This delays startup and should be '0' on most systems. This might help on
# systems which have their ZFS root on a USB disk that takes just a little
# longer to be available
# Only applicable for Debian GNU/Linux {dkms,initramfs}.
ZFS_INITRD_POST_MODPROBE_SLEEP='0'

# List of additional datasets to mount after the root dataset is mounted?
#
# The init script will use the mountpoint specified in the 'mountpoint'
# property value in the dataset to determine where it should be mounted.
#
# This is a space separated list, and will be mounted in the order specified,
# so if one filesystem depends on a previous mountpoint, make sure to put
# them in the right order.
#
# It is not necessary to add filesystems below the root fs here. It is
# taken care of by the initrd script automatically. These are only for
# additional filesystems needed. Such as /opt, /usr/local which is not
# located under the root fs.
# Example: If root FS is 'rpool/ROOT/rootfs', this would make sense.
#ZFS_INITRD_ADDITIONAL_DATASETS="rpool/ROOT/usr rpool/ROOT/var"

# List of pools that should NOT be imported at boot?
# This is a space separated list.
#ZFS_POOL_EXCEPTIONS="test2"

# Optional arguments for the ZFS Event Daemon (ZED).
# See zed(8) for more information on available options.
#ZED_ARGS="-M"

আমি নিশ্চিত নই যে এটি একটি পরিচিত সমস্যা কিনা, .. যদি হ্যাঁ, তবে এটির জন্য কি কোনও পরিকল্পনা রয়েছে? আমার ডেটাসেটগুলি পুনরায় বুটের পরে সংরক্ষণ করার একটি সহজ উপায় এবং সম্ভবত ক্যাশে ফাইলের ওভারহেড ছাড়াই।


zpool অবস্থা -v এবং zpool আমদানি কী বলে?
ওস্টেনডালি

হাই, zpool status -v zpool status -v no pools availableএবং, zpool importআমাকে এটি দেয়pool: zfsPool id: 10064980395446559551 state: ONLINE action: The pool can be imported using its name or numeric identifier. config: zfsPool ONLINE sda4 ONLINE
বিষ্ণু নায়ার

zfs আমদানি হ'ল আমি কীভাবে এটি কাজ করতে পারি, সেটটি ক্যাশেফিল শুরু করে সেট ক্যাশেফিল কমান্ডটি ব্যবহার করে
বিষ্ণু নায়ার

আপনি /etc/init/zpool-import.conf মিস করেছেন, আপনি কি সেই ফাইলটির বিষয়বস্তুও পোস্ট করতে পারেন?
ওস্টেনডালি

1
জেডএফএস লক্ষ্য সক্ষম? systemctl status zfs.target
মাইকেল হ্যাম্পটন

উত্তর:


6

দয়া করে নিশ্চিত করুন যে zfs পরিষেবা (লক্ষ্য) সক্ষম হয়েছে। এটিই বুট / শাটডাউনে পুল আমদানি / রফতানি পরিচালনা করে।

zfs.target loaded active active ZFS startup target

এ নিয়ে আপনার কখনও লড়াই করতে হবে না। আপনার যদি কোনও সুযোগ থাকে তবে আপনার জেডএফএস বিতরণ সম্পর্কে একটি আপডেট চালান, কারণ আমি জানি যে গত কয়েকটি প্রকাশের তুলনায় স্টার্টআপস পরিষেবাগুলি উন্নত হয়েছে:

[root@zfs2 ~]# rpm -qi zfs
Name        : zfs
Version     : 0.6.5.2
Release     : 1.el7.centos

হাই, আমি 0.6.5.3 পরীক্ষাও করেছি যা আমার বিশ্বাস সর্বশেষ প্রকাশ হতে পারে তবে এখনও এই সমস্যাটির মুখোমুখি হয়েছিল modprobe zfs। বিটিডব্লিউ, লক্ষ্য সক্ষম নয়, দয়া করে উপরের মন্তব্যে আউটপুটটি পরীক্ষা করুন (মাইকেলকে জবাব দিন)। আমি কীভাবে সেট করতে পারি? ধন্যবাদ।
বিষ্ণু নায়ার

: সমস্ত আপনাকে যা করতে হবে সম্ভবত ভালো কিছু হয়systemctl enable zfs.target
ewwhite

5

ঠিক আছে, তাই পুলটি সেখানে রয়েছে যার অর্থ সমস্যাটি আপনার zfs.cache এর সাথে রয়েছে এটি স্থির নয় এবং এ কারণেই এটি আপনার পুনরায় বুট করার সময় এটির কনফিগারেশনটি হারিয়ে ফেলে। আমি যা করার পরামর্শ দিচ্ছি তা হল চালানো:

      zpool import zfsPool 
      zpool list 

এবং এটি যদি পাওয়া যায় তা পরীক্ষা করে দেখুন। সার্ভারটি পুনরায় বুট করুন এবং দেখুন যে এটি আবার ফিরে আসে কিনা, যদি তা না হয় তবে একই পদক্ষেপগুলি চালনা করে:

      zpool scrub

আপনার পুল ইত্যাদির সাহায্যে সবকিছু ঠিকঠাক রয়েছে তা নিশ্চিত করা etc.

প্লিজ এর লিখিত সামগ্রীও পোস্ট করে:

      /etc/default/zfs.conf
      /etc/init/zpool-import.conf

বিকল্পভাবে, আপনি যদি এই সমস্যার সমাধানের জন্য সন্ধান করছেন তবে আপনি অবশ্যই এটি অনুসরণ হিসাবে সেট করতে পারেন।

1 থেকে 0 এ মান পরিবর্তন করুন:

    /etc/init/zpool-import.conf

এবং আপনার /etc/rc.local এ নিম্নলিখিতগুলি যুক্ত করুন:

    zfs mount -a

যে কৌশলটি করবে।


আমি দৌড়ে zfs import zfsPoolপ্রত্যাশিত আমার পুকুর আমদানিকৃত হিসাবে, তারপর আমি জন্য পুনরায় চালু করা দৌড়ে করেনি যা zfs listযা আমাকে দিয়েছে no datasets। আমি আবারও পদক্ষেপগুলি পুনরুক্ত করেছি এবং দৌড়েছি zfs scrubযা আমাকে কোনও আউটপুট দেয় না, আমি এখন আবার একটি রিবুট করেছি, এবং এখনও ডেটাসেটগুলি সংরক্ষণ করা হচ্ছে না
বিষ্ণু নায়ার

আপনি যদি আমার অনুরোধটি না দেখে থাকেন তবে আমি আবার পোস্ট করব "আপনি কি / etc / default / zfs এ পোস্ট করতে পারেন?"
ওস্টেনডালি

4

রিবুট করার পরে zfs এর অদৃশ্য হওয়ার সমস্যাটিও আমার ছিল। সেন্টোস 7.3 এবং জেডএফএস 0.6.5.9 চলমান রেম্পোর্টিং কেবল পরের পুনরায় বুট না হওয়া পর্যন্ত এটিকে (zpool আমদানি zfspool) ফিরিয়ে এনেছে।

এখানে আদেশটি আমার পক্ষে কাজ করেছে (এটি পুনরায় বুট করার মাধ্যমে চালিয়ে যেতে পারে):

systemctl preset zfs-import-cache zfs-import-scan zfs-mount zfs-share zfs-zed zfs.target

(এটি এখানে পাওয়া গেছে: https://github.com/zfsonlinux/zfs/wiki/RHEL-%26-CentOS )


এটি এখন এখানে উইকিতে পাওয়া গেছে: github.com/openzfs/zfs/wiki/FAQ#the-etczfszpoolcache-file
ড্যানিয়েল এস স্টার্লিং
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.