কীভাবে একটি ডিস্কে ডেটা মাউন্ট / পুনরুদ্ধার করবেন যা অন্য মেশিনে এমডিএডএম রাইড 1 এর অংশ ছিল?


18

কিছু পটভূমি

  • ডিস্কটি নিজেই একটি বন্ধু দ্বারা "কাজ করা" হয়েছিল এবং বলা হয় এখনও অক্ষত, অকেজো এবং এখনও মাউন্টযোগ্য / পুনরুদ্ধারযোগ্য
  • ডিস্কটি উবুন্টু 12.04-এ একটি সফ্টওয়্যার রাইড 1 এর অংশ ছিল
  • মূল রাইড 1-এর অন্য ডিস্কটি ফর্ম্যাট করা হয়েছিল এবং অন্য উদ্দেশ্যে ব্যবহার করা হয়েছিল, বর্তমান ডিস্কটি (প্রশ্নে থাকা) এখনও প্রযুক্তিগতভাবে একটি অভিযানের অংশ যা এখন আর নেই

যা আমি ইতিমধ্যে চেষ্টা করেছি

  • বেসিক মাউন্টিং

    • আমি fstab এ একটি এন্ট্রি যুক্ত করেছি, ডিস্কটিকে ext3 / ext4 হিসাবে চিহ্নিত করেছি এবং মাউন্ট করার চেষ্টা করেছি।
    • মাউন্ট করার পরে নিম্নলিখিত ত্রুটি উপস্থিত হয়

      wrong fs type, bad option, bad superblock on

    • এবং dmesg এ

      EXT4-fs (sdc1): VFS: Can't find ext4 filesystem

  • আমি ডিস্কের ফাইল সিস্টেমের ধরণের সন্ধান করার চেষ্টা করেছি এবং সামনে এসেছি

    $sudo file -s /dev/sdc
    /dev/sdc: x86 boot sector; partition 1: ID=0x83, starthead 254, startsector 63, 1953520002 sectors, code offset 0xb8

যেখানে আমার কিছু সহায়তা / আমার প্রশ্ন দরকার

  • ডেটা ক্ষতি না করে ডিস্ককে এক্সট 4 এ রূপান্তর করার কোনও উপায় আছে কি?
  • লিনাক্স 83 ফাইল টাইপ ডিস্ক মাউন্ট এবং ডেটা পুনরুদ্ধার করার কি সহজ উপায় আছে?
  • আমার আর একটি ডিস্ক বর্তমানে ফ্রি আছে যদি কোনওভাবে অভিযানটি পুনর্নির্মাণের সম্ভাবনা থাকে
  • আমার মূল লক্ষ্যটি হ'ল ডিস্ক থেকে ডেটা পুনরুদ্ধার করা। আমি সব অপশন খোলা।

হালনাগাদ

কিছু কমান্ডের আউটপুট

  • fdisk -l / dev / sdc

    $fdisk -l /dev/sdc

    Disk /dev/sdc: 1000.2 GB, 1000204886016 bytes
    255 heads, 63 sectors/track, 121601 cylinders, total 1953525168 sectors
    Units = sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disk identifier: 0x0005ed9c

    Device Boot Start End Blocks Id System
    /dev/sdc1 63 1953520064 976760001 83 Linux

  • ফাইল -s / dev / sdc1

    $file -s /dev/sdc1
    /dev/sdc1: data

  • hexdump -C -n 32256 / dev / sdc (নিশ্চিত না এটি সাহায্য করতে পারে কিনা)

    $hexdump -C -n 32256 /dev/sdc`
    00000000  fa b8 00 10 8e d0 bc 00  b0 b8 00 00 8e d8 8e c0  |................|
    00000010  fb be 00 7c bf 00 06 b9  00 02 f3 a4 ea 21 06 00  |...|.........!..|
    00000020  00 be be 07 38 04 75 0b  83 c6 10 81 fe fe 07 75  |....8.u........u|
    00000030  f3 eb 16 b4 02 b0 01 bb  00 7c b2 80 8a 74 01 8b  |.........|...t..|
    00000040  4c 02 cd 13 ea 00 7c 00  00 eb fe 00 00 00 00 00  |L.....|.........|
    00000050  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
    *
    000001b0  00 00 00 00 00 00 00 00  9c ed 05 00 00 00 00 fe  |................|
    000001c0  ff ff 83 fe ff ff 3f 00  00 00 82 59 70 74 00 00  |......?....Ypt..|
    000001d0  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
    *
    000001f0  00 00 00 00 00 00 00 00  00 00 00 00 00 00 55 aa  |..............U.|
    00000200  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
    *
    00007e00
    

সমস্যাটি হ'ল পার্টিশনটি মনে করে যে এটিতে কিছু রাইড ভলিউম রয়েছে এবং এটি একটি এক্সট্রুফএস নয়। এবং কার্নেলটি ঠিক আছে। তবে এটি একটি রেড 1 হিসাবে এটি একটি ext4fs হতে পারে। একটি mount -f ext4 /dev/sdc1 /mountpointকৌতুক করা উচিত। বলপূর্বক পরিবর্তে ext4 এই অনুমান করা মাউন্ট খুঁজছেন একটি ফাইল সিস্টেমের জন্য -f কি হয়
Bananguin

1
বল মাউন্ট কোনও ত্রুটি দেয় না, তবে মাউন্ট পয়েন্টটি ফাঁকা। হয় ডেটা চলে গেছে, বা মাউন্টটি প্রত্যাশার মতো কাজ করে নি। একটি কাজ করা dfআমাকে দেখায় যে নতুন মাউন্ট করা ডিস্কটি ব্যবহারের 2% যা প্রত্যাশার তুলনায় উল্লেখযোগ্যভাবে কম।
আদম

@ user1129682, যদি মাউন্ট বলছে এটি এক্সট 4 নয়, তবে তা নয় ... জোর করার চেষ্টা করছে এটি কোনও সাহায্য করছে না।
psusi

@ স্পুসী: আমার পক্ষে কাজ করেছেন। গিলস উত্তরটি ব্যাখ্যা করে যে এটি কিছু পরিস্থিতিতে কেন কাজ করে
বনাঙ্গুইন

@ বনানগুইন আপনার মানে না mount -t ext4? -ফ পতাকাটি 'জাল' মাউন্টিংয়ের জন্য (উবুন্টু 14.04)।
কোয়ান্টাম

উত্তর:


12

এটি উবুন্টু 14.04 এ দুর্দান্তভাবে কাজ করছে:

sudo -i
mdadm --assemble --scan

তুমি পাবে:

mdadm: /dev/md/1 has been started with 1 drive (out of 2)

তারপরে আপনার ফাইলগুলি মাউন্ট করুন এবং দেখুন:

cd /mnt && mkdir to-restore-md1 && mount /dev/md1 to-restore-md1
ls -la to-restore-md1

ব্যর্থ হওয়া হার্ড ড্রাইভে "অস্তিত্ব থাকলেও এটি একটি এমডি অ্যারে নয়" পেয়ে যাচ্ছিল যা অ্যারের অংশ ছিল ... এবং এটি অন্যান্য সমস্ত পরামর্শের চেয়ে ভাল কাজ করেছে। সাফল্যের সাথে মাউন্ট করা, এখনই ডেটা অনুলিপি করতে ব্যস্ত busy
জায়েন এস হালসাল

এই বিকল্পটি আমার পক্ষে ভাল কাজ করেছে। RAID1 এ 2 ইন্টেল এসএসডি। একটি টানুন এবং পিসি চলমান সুস লিনাক্সে Sata বন্দর বন্ধ করে দেওয়া হয়েছে। প্রাথমিকভাবে কেবল /dev/sdcএবং হিসাবে প্রদর্শিত হবে /dev/md127। তারপর হয়নি mdadm --assemble --scanফলে যা /dev/md/Volume0_0p1এবং /dev/md/Volume0_0p2এবং তাই 4 পার্টিশন ডিস্ক ছিল সংশ্লিষ্ট উপর। পি 2 হ'ল আমার এটির দরকার ছিল: mkdir /p2 এরপরে mount /dev/md/Volume0_0p2 /p2এটি মাউন্ট করা যা EXT3 ছিল এবং আমি সহজেই ডেটা অ্যাক্সেস এবং অনুলিপি করতে পারি। এটি এটি পঠন-লেখার হিসাবে মাউন্ট করেছে।
রন

আপনি আমার দিন তৈরি! ধন্যবাদ!
গুশন

কখনও কখনও --scanমোডটি নিখোঁজ ডিস্কগুলির সাথে অ্যারেগুলি শুরু করে না, আমার ক্ষেত্রে এখানে আমাকে স্বয়ংক্রিয়ভাবে জড়িত অ্যারেটি থামাতে হয়েছিল এবং এটি দিয়ে আবার শুরু করতে হয়েছিলmdadm --assemble --force /dev/md/1 /dev/sdc1
ব্রুনোজেসিএম

7

লিনাক্স এমড্রেডের বেশ কয়েকটি মেটাডেটা ফর্ম্যাট রয়েছে । 0.9 এবং 1.0 ফর্ম্যাটগুলি সমন্বিত ডিভাইসটির শেষে মেটাটাটা রাখে এবং পে-লোড (ফাইল সিস্টেম) ডিভাইসের শুরুতে শুরু হয় এবং রেইড স্তরটি ছাড়াই সরাসরি প্রবেশ করা যায়। 1.1 এবং 1.2 ফর্ম্যাটগুলি যথাক্রমে থাকা ডিভাইসটির মাঝখানে এবং শুরুতে মেটাটাটা রাখে, তাই পে-লোড অফসেটে থাকে।

উবুন্টু ইনস্টলারটি 1.2 মেটাটাটা ফর্ম্যাট দিয়ে ভলিউম তৈরি করে, তাই আপনার ডেটা ডিভাইসের শুরুতে পরিবর্তে মেটাডেটার পরে শুরু হয়।

সেই ডেটা অ্যাক্সেস করার সহজ উপায় হ'ল রেইড ডিভাইসটি একত্রিত করা। একটি RAID-1 ভলিউমে, একটি একক ডিভাইসই যথেষ্ট।

madadm -A /dev/sdc1

(আপনি ব্যথা পছন্দ না করলে এখানেই থামুন))

আপনি অফসেটেও ডেটা অ্যাক্সেস করতে পারেন। আমি এটি করতে কেবলমাত্র পয়েন্টটি হ'ল যদি আপনাকে খুব পুরানো কার্নেলে কাজ করতে হয় যা 1.x এমড্রেড ফর্ম্যাটগুলিকে সমর্থন করে না। প্রথমে অফসেটটি নির্ধারণ করুন mdadm -E /dev/sdc1: লাইনটি সন্ধান করুন Data Offset : SSS sectors। একটি এমডিএডিএম সেক্টর 512 বাইট।

sectors=$(mdadm -E /dev/sdc1 | awk -F: '$1 ~ /Data offset/ {print $2}')
bytes=$(($sectors * 512))
losetup -f -o $bytes /dev/sdc1

হতাশার মধ্যে, 1.x ফর্ম্যাটগুলির সাথে, অফসেট ডেটাটি মেটাডেটার 128-135 বাইটে, অল্প-এন্ডিয়ান¹ে সংরক্ষণ করা হয় ¹ ডিভাইস শুরুর পরে 1.2 মেটাডেটা 4096 বাইট।

পার্টিশন টেবিলটি আরও শুরু করতে এটি পরিবর্তন করতে পারেন। আপনার পাটিগণিত সম্পর্কে খুব সাবধান হন। কেবলমাত্র যদি আপনি কোনও পুরানো সিস্টেমে দীর্ঘমেয়াদী ভিত্তিতে ডিস্ক ব্যবহার করতে চান যা রেইড ডিভাইস অ্যাক্সেস করতে পারে না।

¹ বা প্ল্যাটফর্ম endianness সঙ্গে? আমি নিশ্চিত নই.


ডেটা বিভিন্ন অফসেটে শুরু হতে পারে ( mdadm -E /dev/sdc1ঠিক কোথায় তা দেখুন ) তবে 1.2 মেটাডেটার জন্য অবশ্যই 4k এ নয়, যেহেতু 4k অবিকল যেখানে মেটাডেটা সঞ্চিত রয়েছে। এছাড়াও unix.stackexchange.com/q/57477/22565
স্টাফেন চেজেলাস

@ স্টাফেনচাজলাস উফ, হ্যাঁ, মস্তিষ্ক ধন্যবাদ।
গিলস 'দুষ্ট হওয়া বন্ধ করুন'

3
mdadm -A /dev/sdc1আউটপুট mdadm: device /dev/sdc1 exists but is not an md array.আমি এমডিএডিএম ব্যবহার করতে আরও কিছুটা এগিয়ে গিয়েছি এবং দেখুন কোনও অতিরিক্ত তথ্য আছে কিনা ... mdadm --misc --examine /dev/sdc1আউটপুটগুলি দেখুন mdadm: No md superblock detected on /dev/sdc1.। RAID সমাবেশের জন্য উপলব্ধ ডিস্ক হিসাবে চিহ্নিত করার জন্য এই ডিস্কে আমি সুপারব্লকগুলি আবার লিখতে পারি এমন কোনও উপায় আছে কি?
আদম

@ গিলিস এ mdadm -E /dev/sdcআমার জন্য নিম্নলিখিতগুলি ফেরত দিয়েছেন: /dev/sdc: MBR Magic : aa55 Partition[0] : 1953520002 sectors at 63 (type 83) তবে / ডিভ / এসডিসি 1 এর জন্য কোনও তথ্য নেই
অ্যাডাম

1
@ অ্যাডাম যদি এমডিএমএম এর মেটাডেটা খুঁজে না পায় তবে আপনি সেখানে কিছুই করতে পারবেন না: আপনি এটিকে কিছু করতে বাধ্য করতে পারবেন না কারণ এটি কী করতে হবে তা জানেন না। আপনাকে একটি ফাইল সিস্টেমের সন্ধান করা দরকার, এবং যদি সসুসির পরামর্শটি কোথাও না পৌঁছে, তবে দৃষ্টিভঙ্গি নির্মল। সম্ভবত ডিস্কের প্রথম কয়েক কিলোবাইটের একটি হ্যাক্সডাম্প কাউকে অনুপ্রাণিত করতে পারে (সাবধান হন যে এটি কিছু গোপনীয় ডেটা প্রকাশ করতে পারে)।
গিলস 'তাই খারাপ হওয়া বন্ধ করুন'

5

আমার অবাক করার বিষয়, আমি কেবল সর্বাধিক ব্যবহার করে ডেটা পুনরুদ্ধার করতে সক্ষম হয়েছি / ছিলাম ।

এখানে প্রাপ্ত সহায়তা অমূল্য ছিল। বিভিন্ন প্রস্তাবিত সংমিশ্রণের পাশাপাশি আমার নিজস্ব মিক্স-ইনগুলি চেষ্টা করার পরে, আদর্শ পদ্ধতি (ডিস্কটিকে সাধারণ হিসাবে মাউন্ট এবং ব্যবহার করতে) আর কোনও বিকল্প বলে মনে হয় না। এই ক্ষেত্রে ডেটা পুনরুদ্ধারের অবলম্বন আমার সমাধান।


আমি বুঝতে পারি এটি কিছুক্ষণ আগে হয়েছিল! তবে আপনি কি মনে করতে পারেন যে আপনি পার্টিশন না মাউন্ট করে সর্বাধিক ব্যবহার করতে পেরেছিলেন?
ফিলিপোরেলি

দুঃখিত, আমি এর বিশদ আর মনে করি না। : /
অ্যাডাম

3

দেখে মনে হচ্ছে আপনি এমডডেম সুপারব্লকটি ইতিমধ্যে জ্যাপ করেছেন। যদি এটি সেখানে থাকত এবং ফর্ম্যাটটি ১.১ বা ১.২ ছিল, তবে সম্ভবত সম্ভবত ফাইল সিস্টেমটি অফসেটে রয়েছে 2048 সেক্টর। আপনি e2fsck /dev/sdc1?offset=2048এটি অফসেট থেকে শুরু করে ফাইল সিস্টেমটি সন্ধান করতে বাধ্য করতে দৌড়াতে পারেন । এটি যদি এটির সন্ধান করে তবে আপনি নিজের পার্টিশন টেবিলটি পরিবর্তন করতে পারেন যেখানে ফাইল সিস্টেমটি শুরু হয় to সেক্টরের ইউনিট ব্যবহার করতে আপনি parted /dev/sdcএবং unit sকমান্ডটি ব্যবহার করতে পারেন । printটেবিলটি, সূচনা এবং শেষ সেক্টর, তারপরে rmপার্টিশনটি নোট করুন, তারপরে এটি পুনরায় তৈরি করুন mkpartএবং একই প্রান্তের ক্ষেত্রটি ব্যবহার করুন, তবে প্রারম্ভিক খাতটিতে অফসেট যুক্ত করুন।

যদি 2048 কাজ না করে, আপনি 1985 চেষ্টাও করতে পারেন।


চলমান e2fsck /dev/sdc1?offset=2048(আমি অফসেট = 1985 দৌড়েছিলাম) আউটপুটগুলির Bad magic number..Superblock invalid...পাশাপাশি সুপারব্লকটি দুর্নীতিগ্রস্থ এবং বিকল্প সুপারব্লক সহ e2fsck চালানোর চেষ্টা করার পরামর্শ দিচ্ছে। দেখে মনে হচ্ছে এগিয়ে যাওয়ার জন্য এটি আমার কাছে একটি বিকল্প সুপারব্লক সরবরাহ করা উচিত।
আদম

@ অ্যাডাম, না, আপনাকে কেবল সঠিক অফসেটটি পেতে হবে। testdiskআপনার জন্য বিশদ স্ক্যান করতে এবং পার্টিশন টেবিলটি ঠিক করতে সক্ষম হওয়া উচিত।
psusi

testdiskআমার জন্য সম্পূর্ণ নতুন অঞ্চল। একটি বেসিক রান (বিশ্লেষণ) প্রদর্শন No ext2, JFS, Reiser.. marker. Bad relative sector. No partition is bootable.এটি নিম্নলিখিতটি প্রদান করে: 1 P Linux 0 1 1 121600 254 63 1953520002পরিস্থিতিটি সহায়তা করার জন্য আমি কীভাবে এটি অনুধাবন করতে পারি?
আদম

@ অ্যাডাম, আমি নিজেই এটি কখনও ব্যবহার করি নি, আমি কেবল জানি এটি সুপারব্লকটি স্ক্যান করতে এবং এটি সন্ধান করতে সক্ষম হওয়ার কথা। আপনি এটি পুরো ডিস্কে চালিত করেছেন, পার্টিশনটি ঠিক নয়?
psusi

পূর্ণ ডিস্কে একটি বিশ্লেষণ চালানোর পরে, এটি কোনও পার্টিশন তৈরি করে না। বর্তমানে একটি গভীর স্ক্যান চলছে । যদি এটি কিছু না ঘুরে, আমি এখান থেকে কোথায় যাব তা নিশ্চিত নই।
আদম
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.