SSD Nodes Learn Hosting plans →
கல்வி வழிகாட்டிகள் Matt Connorஆல் Matt Connor · புதுப்பிக்கப்பட்டது 2026-08-30

சிறந்த Self-hosted Dropbox மாற்றீடுகள்: ஒப்பீடு

Nextcloud, Seafile மற்றும் Syncthing ஆகியவற்றை ஒப்பிடுகிறோம். சிறிய VPS செலவுகள், sync topology மற்றும் ஏன் sync என்பது backup ஆகாது என்பதற்கான காரணங்களை விரிவாகக் காணலாம்.

எந்த self-hosted Dropbox மாற்றீட்டை நீங்கள் பயன்படுத்த வேண்டும்?

பயன்படுத்தத் தகுந்த நான்கு self-hosted Dropbox மாற்றீடுகள் உள்ளன: Nextcloud, Seafile, Syncthing மற்றும் client-உடன் கூடிய object storage. இவை ஒவ்வொன்றும் வெவ்வேறு தேவைகளுக்கானவை. மற்றவர்களுக்குக் கோப்புகளை அனுப்ப வேண்டிய குடும்பங்கள் அல்லது சிறிய குழுக்களுக்கு Nextcloud பொருத்தமானது. அதிக எண்ணிக்கையிலான சிறிய கோப்புகளை ஒத்திசைக்க வேண்டிய தனிநபர்கள் அல்லது குழுக்களுக்கு Seafile சிறந்தது; இதில் வட்டில் கோப்புகள் எவ்வாறு சேமிக்கப்படுகின்றன என்பதை விட ஒத்திசைவு வேகம் முக்கியமானது. ஒரு நபர் தனது சொந்த சாதனங்களுக்கு இடையே கோப்புகளை ஒத்திசைக்க Syncthing பொருத்தமானது; இதில் வெளிநபர்களுக்கு எந்த இணைப்பும் (link) பகிரப்படாது. அரிதாகவே திறக்கப்படும் கோப்புகளைச் சேமிக்க, மலிவான சேமிப்பகமாக object storage பயன்படுகிறது.

வசதிகளை ஒப்பிடுவதற்கு முன்பே, ஒத்திசைவு எவ்வாறு செயல்படுகிறது என்பதை அடிப்படையாகக் கொண்டு ஒன்றைத் தேர்வு செய்யவும். வசதிகளின் பட்டியல் பார்ப்பதற்கு ஒன்றாகவே இருக்கும். Topology, அதாவது எந்த machine-ல் உள்ள கோப்பு மற்ற அனைத்து machine-களுக்கும் ஆதாரமாக (source of truth) இருக்கும் என்பதுதான், ஆறு மாதங்களுக்குப் பிறகும் நீங்கள் இந்தத் தீர்வில் திருப்தியாக இருப்பீர்களா என்பதைத் தீர்மானிக்கும்.

ஒத்திசைவு இடவியல் (Sync topology): ஒரு முதன்மை server அல்லது server இல்லாத peers

இரண்டு வடிவமைப்புகள் பரிசீலனையில் உள்ளன; நீங்கள் எதைத் தேர்ந்தெடுக்கிறீர்கள் என்பதைப் பொறுத்தே பின்வரும் செயல்பாடுகள் அமையும்.

ஒரு முதன்மை server (Server of record). Nextcloud, Seafile மற்றும் object storage ஆகிய அனைத்தும் இந்த முறையிலேயே செயல்படுகின்றன. பொதுவாக ஒரு VPS (virtual private server) இயந்திரம், அதிகாரப்பூர்வமான நகலைத் தன்வசம் வைத்திருக்கும். ஒவ்வொரு சாதனமும் அந்த இயந்திரத்துடன் தொடர்பு கொள்ளும். உங்கள் மடிக்கணினி ஒரு மாதம் அணைக்கப்பட்டிருந்தாலும், மீண்டும் இயக்கும்போது அது தரவுகளைப் புதுப்பித்துக் கொள்ளும். 6 GB காலியிடம் கொண்ட ஒரு தொலைபேசி, தரவுகளின் ஒரு பகுதியை மட்டும் வைத்திருக்க முடியும், அதே சமயம் server முழுமையான தரவுகளை வைத்திருக்கும். ஒரு browser மூலம் கோப்புகளை அணுக முடியும் என்பதால் தான், பகிரக்கூடிய இணைப்புகளை (share links) உருவாக்க முடிகிறது.

Server இல்லாத peers. Syncthing இந்த முறையிலேயே செயல்படுகிறது. சாதனங்கள் ஒன்றையொன்று கண்டறிந்து, encrypted connection மூலம் கோப்புப் பட்டியல்களை நேரடியாகப் பரிமாறிக்கொள்ளும். இதில் எந்த நகலும் அதிகாரப்பூர்வமானது அல்ல: ஒரு கோப்பு அதை வைத்திருக்கும் சாதனங்களில் மட்டுமே இருக்கும், வேறெங்கும் இருக்காது. ஒரு மாற்றத்தைப் பரிமாறிக்கொள்ள இரண்டு சாதனங்களும் ஒரே நேரத்தில் online-ல் இருக்க வேண்டும். எந்த இயந்திரமும் பக்கத்தை வழங்காததால், யாருக்கும் கொடுப்பதற்கு URL இருக்காது.

இதன் விளைவாக நான்கு முக்கிய அம்சங்கள் உள்ளன; இவைதான் பயனர்கள் பிற்காலத்தில் சந்திக்கும் சிக்கல்கள்.

  • மென்பொருளை நிறுவ விரும்பாத ஒருவருக்குக் கோப்பை அனுப்ப, முதன்மை server அவசியம். ஒரு இணைப்பு என்பது URL ஆகும், அந்த URL-க்கு ஒரு port-ல் இயங்கும் process தேவை.
  • உங்கள் கட்டுப்பாட்டில் இல்லாத ஒரு இயந்திரத்திலிருந்து (உதாரணமாக, அலுவலக மடிக்கணினி) கோப்புகளை அணுக, முதன்மை server அவசியம்.
  • வாரக்கணக்கில் அணைக்கப்பட்டிருந்த ஒரு சாதனம், மீண்டும் இயங்கும்போது server-லிருந்து தரவுகளைப் புதுப்பித்துக் கொள்ளும். Peer அமைப்பில், தரவை வைத்திருக்கும் மற்றொரு சாதனம் online-ல் இருந்தால் மட்டுமே அது புதுப்பிக்கும். இதனால்தான் பல Syncthing பயனர்கள், எப்போதும் இயங்கக்கூடிய ஒரு peer-ஆக VPS-ல் ஒரு instance-ஐ இயக்குகிறார்கள்.
  • சேமிப்பகத் தேவை மாறுபடும். முதன்மை server ஒரு முழு நகலை வைத்திருக்கும், அதனுடன் ஒவ்வொரு சாதனமும் உள்ளூரில் வைத்திருக்கும் தரவுகளும் சேரும். நான்கு peers ஒரு கோப்புறையைப் பகிரும்போது, நான்கு முழுமையான நகல்கள் உருவாகும், ஏனெனில் ஒவ்வொரு peer-ம் முழு கோப்புறையையும் வைத்திருக்கும்.

Nextcloud: பயனர்கள், குழுக்கள் மற்றும் பொது இணைப்புகள்

Nextcloud என்பது ஒரு PHP web application ஆகும். இது உங்கள் கோப்புகளை ஒரு data directory-ல் சாதாரண கோப்புகளாகச் சேமித்து, அவற்றை ஒரு database-ல் கண்காணிக்கிறது. நீங்கள் ஒரு கோப்புறையை (folder) ஒரு பயனர், ஒரு குழு அல்லது கடவுச்சொல் மற்றும் காலாவதி தேதியுடன் கூடிய பொது இணைப்பாகப் பகிரலாம். Version history இயல்பாகவே செயல்பாட்டில் இருக்கும், மேலும் நீக்கப்பட்ட கோப்புகள் முதலில் ஒரு trash bin-க்குச் செல்லும். Desktop clients Linux, macOS மற்றும் Windows-ஐ ஆதரிக்கின்றன, மேலும் iOS மற்றும் Android செயலிகள் அதிகாரப்பூர்வமானவை. Dropbox-ஐ விட்டு வெளியேற உங்கள் காரணம் மற்றவர்கள் உங்கள் கோப்புகளைப் பெற வேண்டும் என்பது என்றால், இதற்கு இதுவே சரியான தீர்வாகும்.

இதன் விலை, இதில் உள்ள பல பாகங்கள் ஆகும். ஒரு சாதாரண நிறுவல் (install) ஒரு web server, PHP-FPM (PHP process manager), MariaDB அல்லது PostgreSQL போன்ற ஒரு database, மற்றும் file locking-க்காக Redis ஆகியவற்றை இயக்குகிறது. cron அல்லது systemd timer மூலம் ஒவ்வொரு ஐந்து நிமிடங்களுக்கும் ஒரு background job இயங்கும். 1 GB VPS-ல் இது தொடங்கும், ஆனால் பெரிய கோப்புகளைப் பதிவேற்றும்போதோ அல்லது நீண்ட occ maintenance command-ஐ இயக்கும்போதோ out-of-memory killer-ஆல் இது நிறுத்தப்படலாம். ஒரு சில பயனர்களுக்கு 2 GB-ஐ குறைந்தபட்சத் தேவையாகக் கருதுங்கள், மேலும் கூடுதல் செயலிகளை (apps) இயக்கும்போது 4 GB தேவைப்படும் என்பதை எதிர்பார்க்கலாம். மற்றொரு விலை மேம்படுத்தல்கள் (upgrades) ஆகும்: app-store செயலிகள் ஒரு குறிப்பிட்ட core release-க்காக உருவாக்கப்படுகின்றன, எனவே நீங்கள் அடுத்த major version-க்கு மாறுவதற்கு முன்பு, நீங்கள் சார்ந்திருக்கும் செயலிகள் அதை ஆதரிக்கின்றனவா என்பதைச் சரிபார்க்கவும்.

ஒரு கணக்கில் லட்சக்கணக்கான சிறிய கோப்புகள் இருக்கும்போது Nextcloud வேகம் குறையும், ஏனெனில் ஒவ்வொரு கோப்பும் file cache table-ல் ஒரு வரிசையாகவும், வட்டில் (disk) ஒரு உண்மையான கோப்பாகவும் இருக்கும், மேலும் desktop client அவற்றை ஒவ்வொன்றாகச் சரிபார்க்கும். வீட்டு உபயோக அளவில் இது ஒருபோதும் பிரச்சினையாக இருக்காது. Sizing, TLS (transport layer security) மற்றும் backups பற்றிய விவரங்கள் TLS மற்றும் backups கொண்ட Docker அடிப்படையிலான Nextcloud நிறுவல் பகுதியில் உள்ளன, நீங்கள் முடிவெடுத்த பிறகு அங்கு செல்லலாம்.

Scope குறித்த ஒரு எச்சரிக்கை. Nextcloud உங்கள் calendar, contacts, notes மற்றும் photo library ஆகியவற்றையும் இயக்கும், மேலும் நீங்கள் இயக்கும் ஒவ்வொரு செயலியும் background வேலையைச் சேர்க்கும் மற்றும் மேம்படுத்தலைத் தடுக்கும் மற்றொரு காரணியாக மாறும். புகைப்படங்கள் மட்டுமே உண்மையான பிரச்சினை என்றால், ஒரு பிரத்யேக கருவி அதைச் சிறப்பாகக் கையாளும்: சுயமாக இயங்கும் Google Photos மாற்றாக Immich என்பதைப் பார்க்கவும். ஆவணங்கள் மற்றும் wikis மட்டுமே பிரச்சினை என்றால், உங்கள் file server-ல் செயலிகளை அடுக்கி வைப்பதற்குப் பதிலாக சுயமாக இயங்கும் Notion மாற்றுகளை கவனியுங்கள். அந்த ஆவணங்களை browser-ல் திருத்துவது என்பது Nextcloud செயலிக்கு அப்பாற்பட்ட ஒரு தனி server ஆகும், எனவே 2 GB குறைந்தபட்சத் தேவை இன்னும் போதுமானதாக இருக்கும் என்று கருதுவதற்கு முன்பு OnlyOffice மற்றும் Collabora ஆகியவற்றை ஒப்பிட்டுப் பாருங்கள்.

Seafile: மிக அதிக எண்ணிக்கையிலான சிறிய கோப்புகளுக்காக உருவாக்கப்பட்டது

Seafile ஒவ்வொரு கோப்பையும் சிறு தொகுதிகளாக (blocks) பிரித்து, content hash மூலம் முகவரியிடப்பட்ட ஒரு internal object store-ல் சேமிக்கிறது. git தனது object-களுக்குப் பயன்படுத்தும் அதே தொழில்நுட்பம் இது. இதில் sync மற்றும் sharing-ன் அடிப்படை அலகு ஒரு folder tree அல்ல, மாறாக ஒரு library ஆகும். ஒவ்வொரு கோப்பிற்கும் தனித்தனி request அனுப்புவதற்குப் பதிலாக, client தொகுதிகளையும் ஒரு commit-ஐயும் பதிவேற்றுவதால், 100,000 சிறிய கோப்புகளைக் கொண்ட ஒரு directory-ஐ sync செய்வது, கோப்பு வாரியான protocol-களை விட மிக வேகமாக முடிவடையும். ஒரே மாதிரியான தொகுதிகள் ஒருமுறை மட்டுமே சேமிக்கப்படும், எனவே ஒரு பெரிய கோப்பின் இரண்டாவது நகல் கிட்டத்தட்ட எந்த இடத்தையும் எடுத்துக்கொள்ளாது.

இதற்கான விலை என்னவென்றால், server-ல் உள்ள உங்கள் கோப்புகள் சாதாரண கோப்புகளாக இருக்காது. storage directory-ஐத் திறந்து பார்த்தால், hexadecimal பெயர்களைக் கொண்ட object கோப்புகளை மட்டுமே காண முடியும். தரவை மீட்டெடுக்க Seafile client அல்லது Seafile-ன் சொந்த export மற்றும் fsck கருவிகளைப் பயன்படுத்த வேண்டும். அந்த object-கள் சாதாரண கோப்புகள் என்பதால் backups வேலை செய்யும், ஆனால் cp மூலம் ஒரு spreadsheet-ஐ மட்டும் உங்களால் தனியாக மீட்டெடுக்க முடியாது. இது உங்களுக்கு ஏற்புடையதா என்பதை இப்போதே முடிவு செய்யுங்கள், ஏனெனில் பிற்காலத்தில் பயனர்கள் வருத்தப்படும் அம்சம் இதுதான்.

Seafile ஒரு community edition மற்றும் ஒரு கட்டண professional edition ஆகியவற்றை வழங்குகிறது. இவற்றிற்கு இடையிலான வேறுபாடுகள் ஒவ்வொரு releases-லும் மாறக்கூடும், எனவே ஒரு குறிப்பிட்ட வசதியை மையமாக வைத்து உங்கள் குழுவின் திட்டத்தை வகுக்கும் முன், அவர்களின் தளத்தில் உள்ள தற்போதைய விதிமுறைகளை வாசிக்கவும். இதற்கென அதிகாரப்பூர்வ desktop மற்றும் mobile clients உள்ளன. Encrypted libraries client பக்கத்திலேயே encrypt செய்யப்படுகின்றன, எனவே server-ல் சேமிக்கப்படும் ciphertext-ஐ server-ஆல் படிக்க முடியாது. நீங்கள் passphrase-ஐ மறந்துவிட்டால், உங்களால் கூட அந்த library-ஐப் படிக்க முடியாது. Browser-ல் ஒரு encrypted library-ஐத் திறப்பது என்பது அந்த passphrase-ஐ web session-க்கு வழங்குவதாகும், எனவே இந்த பாதுகாப்பின் முழுமையான பலன் desktop மற்றும் mobile clients-ல் மட்டுமே கிடைக்கும்.

இதற்கான resource தேவை Nextcloud-க்கு இணையாக இருக்கும். நீங்கள் ஒரு database, ஒரு memory cache மற்றும் இரண்டு application processes-ஐ இயக்குவதால், 2 GB RAM என்பது இதற்கும் ஒரு நியாயமான குறைந்தபட்ச அளவாகும்.

Syncthing: உள்நுழைய வேண்டிய அவசியமில்லை

Syncthing என்பது ஒரே ஒரு Go binary கோப்பாகும். இது கோப்புறைகளைக் கண்காணித்து, discovery server அல்லது relay மூலம் அதன் peers-ஐக் கண்டறிந்து, சாதனங்களுக்கு இடையே நேரடியாக ஒத்திசைக்கிறது (sync). இதில் கணக்குகள் (accounts) கிடையாது, நீங்கள் ஒத்திசைக்கும் நபர்களுக்கு உள்நுழைவுப் பக்கமும் (login page) இல்லை. இரண்டு சாதனங்களை அவற்றின் ID மூலம் இணைத்து, ஒவ்வொரு பக்கத்திலும் கோப்புறையை ஏற்க வேண்டும். இதில் இயங்குவதற்கு மிகக் குறைவான அமைப்புகளே இருப்பதால், இதைப் பராமரிப்பது மிகவும் எளிது.

நீங்கள் இழப்பது பகிர்தல் (sharing) வசதியை மட்டுமே. அதன் உள்ளீடு Device pairing only, no links என்று இருக்கும். ஒரு வாடிக்கையாளருக்கோ, கணக்காளருக்கோ அல்லது உறவினருக்கோ நீங்கள் ஒரு இணைப்பை (link) அனுப்ப முடியாது. மொபைல் பயன்பாடு மற்றொரு குறைபாடாகும்: Android app, no official iOS. திட்டத்தின் FAQ இதைப் பற்றி நேரடியாகக் கூறுகிறது: "தற்போதைய Syncthing குழுவினர் எதிர்காலத்தில் iOS-க்கு அதிகாரப்பூர்வ ஆதரவை வழங்கும் திட்டத்தைக் கொண்டிருக்கவில்லை", ஏனெனில் iOS-ன் பின்னணிச் செயல்பாட்டு (background processing) கட்டுப்பாடுகள் நம்பகமான ஒத்திசைவைச் கடினமாக்குகின்றன. iOS பயனர்கள் மூன்றாம் தரப்பு செயலிகளை மட்டுமே பயன்படுத்த முடியும்.

இதன் வளப் பயன்பாடு (resource use) மிகக் குறைவு, ஆனால் கவனிக்க வேண்டிய ஒரு விஷயம் உள்ளது. Syncthing தான் ஒத்திசைக்கும் ஒவ்வொரு கோப்பிற்கும் ஒரு index entry-ஐ வைத்திருக்கும், எனவே நினைவகப் பயன்பாடு (memory) மற்றும் முதல் ஸ்கேன் நேரம் கோப்புகளின் அளவை விட, கோப்புகளின் எண்ணிக்கையைப் பொறுத்தே அதிகரிக்கும். ஒரு பெரிய கோப்புறையை முதல்முறை hashing செய்யும்போது CPU பயன்பாடு சிறிது நேரம் அதிகமாக இருக்கும், அதன் பிறகு சீராகிவிடும். மிகச்சிறிய VPS திட்டத்திலும் இது சிறப்பாக இயங்கும்.

கோப்பு முரண்பாடுகள் (conflicts) ஏற்பட்டால், இரண்டு கோப்புகளையும் வைத்திருப்பதன் மூலம் அவை கையாளப்படுகின்றன. இரண்டு சாதனங்கள் ஒன்றையொன்று தொடர்பு கொள்ள முடியாத நிலையில் ஒரே கோப்பை மாற்றினால், Syncthing ஒரு நகரைப் பெயர்மாற்றம் செய்து மற்றொன்றின் அருகிலேயே வைத்திருக்கும், இதனால் நீங்கள் notes.sync-conflict-20260802-141530-K7MB3QT.md போன்ற கோப்புகளைக் காண்பீர்கள். இதில் எதுவும் இழக்கப்படாது. தானாகவே ஒன்றிணைக்கப்படாது (merge), நீங்களே கைமுறையாக அதைச் சரிசெய்ய வேண்டும்.

Client-உடன் கூடிய Object storage: மலிவான bytes, sync folder அல்ல

Object storage என்பது S3 (simple storage service) இணக்கமான bucket-ஐக் குறிக்கும். இதை MinIO மூலம் நீங்களே host செய்யலாம் அல்லது ஒரு provider-இடம் வாடகைக்கு எடுக்கலாம். இதை அணுக ஒரு கருவி தேவை: command line-ல் rclone, அல்லது bucket-ஐ ஒரு drive-ஆகக் காட்டும் desktop client. Shell-க்கு பதிலாக web page மூலம் bucket-ஐப் பார்க்க விரும்பினால், self-hosted file managers ஒப்பீடு பகுதியில் உள்ள பல கருவிகள் S3 bucket-ஐ backend-ஆகப் பயன்படுத்தி, அதன் மேல் சொந்தமாக share links-ஐ உருவாக்குகின்றன. பகிர்வு என்பது ஒரு presigned URL ஆகும்; இது குறிப்பிட்ட காலாவதி நேரத்தைக் கொண்ட ஒரு link. Versioning என்பது bucket-ன் ஒரு அமைப்பு: Bucket versioning, off by default. எனவே, bucket-ஐ உருவாக்கும்போதே இதை enable செய்யவும், ஏனெனில் ஏற்கனவே upload செய்த objects-க்கு இது பொருந்தாது.

Bucket-ஐ ஒரு sync folder-ஆகக் கருதுவதுதான் தவறான அணுகுமுறை. இயல்பாகவே, உங்கள் Documents directory-ஐ எதுவும் கண்காணிப்பதில்லை. rclone bisync இருவழி sync-ஐச் செய்கிறது, மேலும் rclone-ன் ஆவணங்களே அது கவனமாக கையாளப்பட வேண்டியது என்பதைத் தெளிவாகக் கூறுகின்றன. Object storage சிறப்பாகச் செய்வது என்னவென்றால், அது ஒரு backup target-ஆக அல்லது ஒரு application-ன் storage layer-ஆகப் பின்னணியில் செயல்படுவதுதான். MinIO மூலம் self-hosted S3 இணக்கமான object storage என்பது server பக்கத்தை விளக்குகிறது.

இங்கு வளங்களுக்கான செலவு வழக்கத்திற்கு மாறானது. MinIO என்பது ஒரே ஒரு binary மற்றும் அது சும்மா இருக்கும்போது மிகக் குறைந்த வளங்களையே பயன்படுத்துகிறது. நீங்கள் உண்மையில் செலுத்தும் செலவு disk-க்கானது. ஒரு VPS-ல் இது gigabyte கணக்கில் வாடகைக்கு எடுக்கப்படும் block volume மற்றும் objects-ஐ உள்ளே/வெளியே நகர்த்தும் bandwidth ஆகியவற்றைக் குறிக்கும். இவை எதுவும் free -h-ல் தெரிவதில்லை, எனவே உங்கள் archive-ன் அளவைத் தீர்மானிக்கும் முன் ஒரு VPS-ன் மாதந்திர உண்மையான செலவு குறித்த கட்டுரையைப் படிக்கவும்.

பகிர்வு, mobile clients மற்றும் versioning ஒப்பீடு

ChartSharing, mobile clients and versioning, by tool
The data behind this chart
[
  {
    "tool": "Nextcloud",
    "sharing": "Public links, users and groups",
    "mobile": "Official iOS and Android apps",
    "versioning": "On by default, plus trash"
  },
  {
    "tool": "Seafile",
    "sharing": "Public links with password and expiry",
    "mobile": "Official iOS and Android apps",
    "versioning": "Library history and snapshots"
  },
  {
    "tool": "Syncthing",
    "sharing": "Device pairing only, no links",
    "mobile": "Android app, no official iOS",
    "versioning": "Optional per folder, off by default"
  },
  {
    "tool": "Object storage",
    "sharing": "Presigned URLs you generate",
    "mobile": "Third party clients only",
    "versioning": "Bucket versioning, off by default"
  }
]

அனைத்து 4 விருப்பங்களும் ஒரே வரியில் பிரிக்கப்பட்டுள்ளன. அவற்றில் மூன்றைப் பயன்படுத்தி, browser மட்டுமே வைத்திருக்கும் ஒரு நபருக்கு கோப்பைப் பகிர முடியும். அவற்றில் ஒன்று நீங்கள் ஏற்கனவே வைத்திருக்கும் சாதனங்களுடன் மட்டுமே தொடர்பு கொள்ளும். Seafile-ன் versioning உள்ளீடு, Library history and snapshots, ஒரு குறிப்பிற்கு உரியது: வரலாறு (history) ஒவ்வொரு library-க்கும் தனித்தனியாகப் பராமரிக்கப்படுகிறது, எனவே ஒரு library-ஐ நீக்கினால் அதன் வரலாறும் சேர்ந்து நீக்கப்படும்.

உங்கள் தரவை மீண்டும் பெறுதல்

வெளியேறும் செலவை (exit cost) இப்போதே சரிபார்ப்பது எளிது, ஆனால் பிற்காலத்தில் கண்டறிவது கடினம். எனவே, ஒரு தீர்வைத் தேர்ந்தெடுக்கும் முன்பே இதைச் சரிபார்க்கவும்.

Nextcloud உண்மையான கோப்புகளை உண்மையான கோப்பகங்களில் (directories) சேமிக்கிறது. எனவே, ஒரு tar மூலம் தரவு கோப்பகத்தை நகலெடுத்தால், application மீண்டும் தொடங்காத நிலையிலும் உங்கள் ஆவணங்களை உங்களால் பெற முடியும். Syncthing ஒவ்வொரு peer-லும் இதையே செய்கிறது; இதுவே மிகச்சிறந்த வெளியேற்ற உத்தியாகும்: கோப்புகள் ஒவ்வொரு சாதனத்திலும் அப்படியே இருக்கின்றன. Seafile-ன் object store-க்கு, தொகுக்கப்பட்ட தரவுகளை மீண்டும் கோப்புகளாக மாற்ற Seafile அல்லது அதன் export கருவிகள் தேவை. Object storage-க்கு rclone அல்லது அதற்கு இணையான கருவி தேவை, இது ஒரே ஒரு command மூலம் செய்யக்கூடியது.

Sync என்பது backup அல்ல, அந்த இடைவெளியில்தான் தரவு இழப்பு ஏற்படுகிறது

இங்குள்ள ஒவ்வொரு கருவியும் இயந்திரங்களுக்கு இடையே மாற்றங்களை நகலெடுக்கிறது. ஒரு கோப்பை நீக்குவதும் ஒரு மாற்றமே. உங்கள் laptop-ல் ஒரு folder-ஐ நீக்கினால், client அதை server-க்கு தெரிவிக்கும், server அதைச் செயல்படுத்தும், மற்ற அனைத்து சாதனங்களிலும் அந்த folder நீக்கப்படும். Ransomware இதே பாதையைப் பயன்படுத்துகிறது: அது கோப்புகளை உள்ளூர் அளவில் encrypt செய்கிறது, client மாற்றப்பட்ட கோப்புகளைக் கண்டு, அவற்றை server-க்கு upload செய்கிறது. Sync சரியாகவே வேலை செய்தது. ஆனால் உங்கள் தரவு அழிந்துவிட்டது.

Trash bins மற்றும் version history ஆகியவை இந்த பாதிப்பைக் குறைக்கின்றன. இருப்பினும், அவையும் ஒரு குறிப்பிட்ட காலத்திற்குப் பிறகு காலாவதியாகிவிடும், தவறு செய்த அதே account மூலம் அவற்றை நீக்க முடியும், மேலும் அவை நேரடி நகல் இருக்கும் அதே disk-ல் சேமிக்கப்படுகின்றன. ஒரு volume செயலிழந்தால், கோப்புகளும் அவற்றின் வரலாறும் சேர்ந்து அழிந்துவிடும்.

Backup என்பது ஒரு தனி நகல்; இது தனி hardware-ல் இருக்க வேண்டும், அட்டவணைப்படி (schedule) எடுக்கப்பட வேண்டும், மேலும் அதை நீங்கள் குறைந்தது ஒருமுறையாவது restore செய்து பார்த்திருக்க வேண்டும். கோப்புகளை backup எடுக்கும் அதே நேரத்தில் database-ஐயும் backup எடுக்கவும். Nextcloud data directory-ஐ அதன் database இல்லாமல் restore செய்தால், அந்த கோப்புகள் இருப்பதை அந்த instance அறியாது. அதன் பிறகு செய்யப்படும் ஒரு occ files:scan கோப்புகளை மீட்டெடுக்கும், ஆனால் அந்த tables-ல் இருந்த shares மற்றும் version history இழக்கப்படும். VPS-லிருந்து திட்டமிடப்பட்ட restic backups என்பது இதன் encrypted மற்றும் deduplicated முறையை விளக்குகிறது; ஒரு backup-ஐ வெறும் நம்பிக்கையாகக் கொள்ளாமல், அதை எவ்வாறு restore செய்து சோதிப்பது என்பதையும் இது விவரிக்கிறது.

நான் எதைத் தேர்ந்தெடுப்பேன்

இந்தக் கட்டுரையை வாசிக்கும் பெரும்பாலானவர்களுக்கு, நான் Nextcloud-ஐப் பரிந்துரைக்கிறேன். Dropbox-ஐ விட்டு வெளியேறிய பிறகு மக்கள் அதிகம் உணரும் குறைபாடு என்னவென்றால், எதையும் install செய்யாத ஒருவருக்கு ஒரு link-ஐப் பகிர்வதும், மொபைலில் கோப்புகளைத் திறப்பதும்தான். Nextcloud இந்த இரண்டு வசதிகளையும் அதிகாரப்பூர்வ clients மூலம் வழங்குகிறது; இதில் கட்டணத் திட்டங்கள் இல்லை. இதற்காக 2 GB RAM-ஐச் செலவிடுவது நியாயமானதே. நான் கடைப்பிடிக்கும் இரண்டு விதிவிலக்குகள் உள்ளன. உங்கள் கோப்புறையை நீங்கள் மட்டுமே பயன்படுத்துகிறீர்கள் மற்றும் அது உங்கள் சொந்த hardware-ல் மட்டுமே இருக்கிறது என்றால், Syncthing-ஐப் பயன்படுத்துங்கள். இதில் server-ஐப் பராமரிக்கவோ (patch) அல்லது web login-ஐப் பாதுகாக்கவோ வேண்டிய அவசியம் இல்லை. நீங்கள் லட்சக்கணக்கான கோப்புகளைக் கொண்ட working directory-ஐ sync செய்கிறீர்கள் என்றால், Seafile-ஐப் பயன்படுத்துங்கள்; அதன் வேகம் மிக அதிகம், ஆனால் கோப்புகள் சேமிக்கப்படும் விதம் (opaque storage) சற்று மாறுபட்டது. நீங்கள் எதைத் தேர்ந்தெடுத்தாலும், Object storage-ஐ sync கருவியாக முன்னால் வைக்காமல், backup இலக்காகப் பயன்படுத்துங்கள்.

FAQ

Syncthing எனது மடிக்கணினிக்கு ஒரு backup-ஆ?

இல்லை. Syncthing சாதனங்களுக்கு இடையே மாற்றங்களை நகலெடுக்கிறது. கோப்பை நீக்குவதும் ஒரு மாற்றமே என்பதால், நீங்கள் தவறுதலாக நீக்கும் கோப்பு சில நொடிகளில் இணைக்கப்பட்டுள்ள அனைத்து சாதனங்களிலிருந்தும் நீக்கப்படும். ஒவ்வொரு கோப்புறைக்கும் (folder) file versioning வசதி உள்ளது, ஆனால் அதை நீங்கள் கைமுறையாக இயக்கினால் மட்டுமே செயல்படும். தனித்தனி வன்பொருளில், திட்டமிடப்பட்ட கால இடைவெளியில் உண்மையான backup-ஐ வைத்திருங்கள். அந்த backup-லிருந்து கோப்புகளை மீட்டெடுத்துப் பார்த்து, மீட்டெடுப்பு முறை சரியாகச் செயல்படுகிறதா என்பதை உறுதிப்படுத்திக் கொள்ளுங்கள்.

ஒரே VPS-ல் Nextcloud மற்றும் Syncthing-ஐ இயக்க முடியுமா?

ஆம், அவை வெவ்வேறு ports-ல் இயங்குவதால் அவற்றுக்கிடையே மோதல் ஏற்படாது. Syncthing கோப்புறையை Nextcloud-ன் தரவு அடைவுக்கு (data directory) சுட்டிக்காட்ட வேண்டாம். Nextcloud ஒவ்வொரு கோப்பையும் ஒரு database-ல் கண்காணிக்கிறது. எனவே, அதன் கோப்பு முறைமைக்கு அடியில் நேரடியாகச் சேர்க்கப்படும் கோப்புகள் occ files:scan கட்டளையை இயக்கும் வரை தெரியாது. அதேபோல், நேரடியாக நீக்கப்படும் கோப்புகள் database-ல் தேவையற்ற பதிவுகளை உருவாக்கும். Syncthing-க்கு எனத் தனி அடைவை ஒதுக்குங்கள் அல்லது அந்த அடைவை Nextcloud-ல் external storage-ஆக இணைப்பதன் மூலம் Nextcloud-க்கு அது தெரியும் வகையில் செய்யுங்கள்.

Nextcloud மற்றும் Seafile ஆகிய இரண்டிலும் பொதுவான link-களை உருவாக்க முடியும்; அவற்றுக்கு கடவுச்சொல் மற்றும் காலாவதி தேதியை நிர்ணயிக்கலாம். Object storage-ல் presigned URL-ஐப் பயன்படுத்தலாம், இது நீங்கள் நிர்ணயிக்கும் நேரத்திற்குப் பிறகு தானாகவே செயலிழந்துவிடும். Syncthing-ல் இந்த வசதி இல்லை. அதன் பகிர்வு முறை சாதனம் சார்ந்த இணைப்பை அடிப்படையாகக் கொண்டது. எனவே, மற்றவர் Syncthing-ஐ நிறுவி, உங்களுக்கு ஒரு device ID-ஐ வழங்கி, கோப்புறையை ஏற்க வேண்டும்.

server-க்கு எவ்வளவு disk இடம் தேவை?

ஒரு முதன்மை server-க்கு, பகிரப்படும் தரவின் முழு அளவு, version history மற்றும் குப்பைத் தொட்டிக்கான (trash) இடம், மேலும் பதிவேற்றப்படும் கோப்புகளுக்கான கூடுதல் இடம் ஆகியவற்றைக் கணக்கிட்டுத் திட்டமிடுங்கள். Version history-ஐப் பலரும் குறைவாக மதிப்பிடுகின்றனர்: தினமும் மாறும் 2 GB கோப்பின் ஒவ்வொரு பதிப்பையும் சேமிப்பது மிக வேகமாக இடத்தைப் பிடிக்கும். எனவே, ஆரம்பத்திலேயே ஒரு retention policy-ஐ அமைப்பது அவசியம். தரவுகளைத் தனி volume-ல் சேமிப்பதன் மூலம், root filesystem-ல் இடம் நிரம்புவதைத் தவிர்க்கலாம். இல்லையெனில், disk நிரம்பினால் ஒரு பதிவேற்றம் மட்டும் பாதிக்கப்படாமல், முழு server-மே செயலிழந்துவிடும்.