Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
standalone/drive/troubleshooting [2019_08_08 20:13] – steven | standalone:drive:troubleshooting [2023_08_15 20:55] (current) – removed steven | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | # InfiniDrive Troubleshooting | ||
- | |||
- | [[: | ||
- | [[: | ||
- | |||
- | This page describes in detail how the components of the drive work for education and support. These instructions are for release 4.10.14 and above of the Windows standalone drive. | ||
- | |||
- | ## Overview | ||
- | |||
- | The drive runs as a " | ||
- | |||
- | The drive runs as two processes. The Drive and the Drive Uploader. | ||
- | The Drive process handles requests from the FUSE drive such as open, write and rename. When an updated or created file is closed it's handed to the Uploader which sends the file to object storage. | ||
- | |||
- | ## Installation | ||
- | |||
- | Make sure both the Drive and the Drive Uploader are not running before reinstalling. | ||
- | |||
- | The drive runs as user application for a single user, as a mapped drive. Different users will run their own instance of the drive, typically with different credentials. | ||
- | |||
- | A Drive can also be licensed for Server installations, | ||
- | |||
- | ## Detail | ||
- | |||
- | ### Drive Process | ||
- | |||
- | When the Drive sees an open file request it checks object storage to see if the file exists and when it was last modified. If that latest version is not already in local cache the drive downloads it. | ||
- | |||
- | Read/write requests (block I/O) are mapped by the Drive into operations against cached files. When a file is closed through the drive it is passed to the Uploader. | ||
- | |||
- | Some requests, including directory listings, file deletions and file and folder renames and moves are synchronous. That is, the drive does not return control to the application until the request is completed. There may though be multiple requests in play at one time, even from the same application. | ||
- | |||
- | ### Uploader Process | ||
- | |||
- | The Drive Uploader manages the upload of files to storage asynchronously. It can upload many files at the same time in parallel. It also handles retries, and can recover from machine restarts or crashes. | ||
- | |||
- | ### Cache | ||
- | |||
- | The drive uses a single cache for both reads and writes. | ||
- | |||
- | The cache location can be configured under Settings. It must be on a local drive. Since the cache directory is a folder you can also use standard tools to verify what's there, and if needed, to remove files. | ||
- | |||
- | Files that have been created but not uploaded are flagged with the OFFLINE attribute. | ||
- | |||
- | C: | ||
- | 08/ | ||
- | 08/ | ||
- | 09/ | ||
- | 08/ | ||
- | 2 File(s) | ||
- | |||
- | ### Expiration | ||
- | |||
- | If cache expiration is enabled an expiration purge task runs every 30 minutes. It will check modified and created time to determine if a file in cache should be deleted. | ||
- | |||
- | Files with the Online attribute will never be expired. | ||
- | |||
- | ### Recovery | ||
- | |||
- | The Drive Uploader goes through a Recovery mode on startup. It scans the cache to identify files with an Online attribute that signifies that they have not been uploaded. | ||
- | |||
- | As an extra precaution recovery mode is also run once a day. | ||
- | |||
- | ## Logging | ||
- | |||
- | There are a number of logs that can help troubleshoot issues relating to the operation of the drive. Turn on the logs via the menu from the toolbar icon. | ||
- | |||
- | Log files are created only when the first applicable log entry is written. Log files are rotated after a certain size. | ||
- | |||
- | The Drive and Uploader Logs are focused on the interaction with the external object storage (over the network) and provide a great way to see how the system is performing in general as well as a way to trouble-shoot specific issues. Requests from the FUSE layer, such as block I/O and metadata are not logged. Cache hits for files and metadata (directory information) are not logged. | ||
- | |||
- | To troubleshoot specific requests Fiddler can also be useful. | ||
- | |||
- | ### Uploader Starting | ||
- | |||
- | #### Drive.Uploader.00.started.log | ||
- | |||
- | Logs when the Uploader starts (or is restarted by the Drive). | ||
- | |||
- | 2019-01-31 16: | ||
- | |||
- | ### Drive Downloads | ||
- | |||
- | #### Drive.00.download.log | ||
- | |||
- | Logs start of download attempt, when an object is brought into cache. Shows thread identifier (TID). | ||
- | |||
- | 2019-01-31 18: | ||
- | |||
- | #### Drive.00.download.failed.log | ||
- | |||
- | Logs unsuccessful download attempts. Shows time in milliseconds [2567] and error message. Correlated with download.log. | ||
- | |||
- | 2019-01-31 18: | ||
- | |||
- | #### Drive.00.downloaded.log | ||
- | |||
- | Logs successful downloads. Shows time in milliseconds [245]. Correlated with download.log. | ||
- | |||
- | 2019-01-31 18: | ||
- | |||
- | ### Drive Listings | ||
- | |||
- | #### Drive.00.list.log | ||
- | |||
- | This log includes requests initiated to retrieve folder listings and the status of files. Windows resolves child subfolders by iterating through parent folders so you will see multiple entries even for one folder request on the drive. Directories listings are cached based on the Setting " | ||
- | |||
- | 2019-02-01 10: | ||
- | 2019-02-01 10: | ||
- | 2019-02-01 10: | ||
- | 2019-02-01 10: | ||
- | 2019-02-01 10: | ||
- | |||
- | #### Drive.00.list.failed.log | ||
- | |||
- | This log lists directory requests that failed. Time [18972] is shown in milliseconds. | ||
- | |||
- | 2019-01-31 16: | ||
- | |||
- | #### Drive.00.listed.log | ||
- | |||
- | This log lists directory requests that succeeded. Time [245] is shown in milliseconds. | ||
- | |||
- | 2019-02-01 10: | ||
- | 2019-02-01 10: | ||
- | 2019-02-01 10: | ||
- | 2019-02-01 10: | ||
- | 2019-02-01 10: | ||
- | |||
- | #### Drive.00.listed.full.log | ||
- | |||
- | This log is the same as the prior _listed.log_ but logs after the internal directory cache has been updated. | ||
- | |||
- | ### Drive Queued | ||
- | |||
- | #### Drive.00.queue.log | ||
- | |||
- | Logs when the Drive sends a message to the Uploader. | ||
- | |||
- | #### Drive.Uploader.00.queued.log | ||
- | |||
- | Logs when the Uploader receives a message from the Drive and adds to it's in-memory upload queue. | ||
- | |||
- | #### Drive.Uploader.00.queued.resumed.log | ||
- | |||
- | Logs files the Uploader picks up during recovery to add to it's in-memory upload queue. | ||
- | |||
- | ### Drive Uploading | ||
- | |||
- | #### Drive.Uploader.00.upload.started.log | ||
- | |||
- | Logs start of upload. In the first iteration an upload will be attempted 5 times before being logged in _failed.log_. | ||
- | |||
- | 2019-01-23 09: | ||
- | 2019-01-23 09: | ||
- | 2019-01-23 09: | ||
- | |||
- | #### Drive.Uploader.00.upload.failed.log | ||
- | |||
- | |||
- | |||
- | 2019-01-11 14: | ||
- | 2019-01-12 12: | ||
- | 2019-01-15 09: | ||
- | The request has not succeeded. | ||
- | Response code: 408. | ||
- | Request Timeout | ||
- | 2019-01-15 10: | ||
- | |||
- | #### Drive.Uploader.00.uploaded.log | ||
- | |||
- | Successful upload. | ||
- | |||
- | #### Drive.Uploader.00.uploaded.retried.log | ||
- | |||
- | Successful upload after retrying. | ||
- | |||
- | ### Also | ||
- | |||
- | #### error | ||
- | |||
- | Misc errors with Drive. | ||
- | |||
- | #### queue.error | ||
- | |||
- | Misc errors with Uploader. | ||