diff --git a/.luacheckrc b/.luacheckrc
index 237a341f35a09c8241b421521c52fcb1f6abfdf7..8802dffc19c903623405a7e6ed5ac296c33b243c 100644
--- a/.luacheckrc
+++ b/.luacheckrc
@@ -36,7 +36,7 @@ exclude_files = {
     "test/engine/*.test.lua",
     "test/engine_long/*.test.lua",
     "test/luajit-tap/**/*.lua",
-    "test/replication/**/*.lua",
+    "test/replication/*.test.lua",
     "test/replication-py/**/*.lua",
     "test/sql/**/*.lua",
     "test/swim/*.test.lua",
@@ -132,3 +132,9 @@ files["test/swim/box.lua"] = {
         "uri",
     }
 }
+files["test/replication/replica_quorum.lua"] = {
+    globals = {
+        "INSTANCE_URI",
+        "nonexistent_uri",
+    },
+}
diff --git a/test/replication/lua/fast_replica.lua b/test/replication/lua/fast_replica.lua
index 8c772c41ffc685684caa19f48c18d1beaaae4ef9..1e8603a3c3d4c52add6ecad1e7568e0496b49cb7 100644
--- a/test/replication/lua/fast_replica.lua
+++ b/test/replication/lua/fast_replica.lua
@@ -1,5 +1,5 @@
 
-function join(inspector, n)
+local function join(inspector, n)
     local path = os.getenv('TARANTOOL_SRC_DIR')
     for i=1,n do
         local rid = tostring(i)
@@ -7,13 +7,14 @@ function join(inspector, n)
         os.execute('cp '..path..'/test/replication/replica.lua ./tmp/replica'..rid..'.lua')
         os.execute('chmod +x ./tmp/replica'..rid..'.lua')
         local out_dir = box.cfg.wal_dir
-        inspector:cmd("create server replica"..rid.." with rpl_master=default, script='"..out_dir.."/../tmp/replica"..rid..".lua'")
+        inspector:cmd("create server replica"..rid.." with rpl_master=default, script='"
+			..out_dir.."/../tmp/replica"..rid..".lua'")
         inspector:cmd("start server replica"..rid)
     end
 end
 
 
-function call_all(callback)
+local function call_all(callback)
     local all = box.space._cluster:select{}
     for _, tuple in pairs(all) do
         local id = tuple[1]
@@ -23,54 +24,54 @@ function call_all(callback)
     end
 end
 
-function unregister(inspector, id)
+local function unregister(inspector, id) -- luacheck: no unused args
     box.space._cluster:delete{id}
 end
 
-function start(inspector, id)
+local function start(inspector, id)
     inspector:cmd('start server replica'..tostring(id - 1))
 end
 
-function stop(inspector, id)
+local function stop(inspector, id)
     inspector:cmd('stop server replica'..tostring(id - 1))
 end
 
-function wait(inspector, id)
+local function wait(inspector, id)
     inspector:wait_lsn('replica'..tostring(id - 1), 'default')
 end
 
-function delete(inspector, id)
+local function delete(inspector, id)
     inspector:cmd('stop server replica'..tostring(id - 1))
     inspector:cmd('delete server replica'..tostring(id - 1))
 end
 
-function drop(inspector, id)
+local function drop(inspector, id)
     unregister(inspector, id)
     delete(inspector, id)
 end
 
-function start_all(inspector)
+local function start_all(inspector)
     call_all(function (id) start(inspector, id) end)
 end
 
-function stop_all(inspector)
+local function stop_all(inspector)
     call_all(function (id) stop(inspector, id) end)
 end
 
-function wait_all(inspector)
+local function wait_all(inspector)
     call_all(function (id) wait(inspector, id) end)
 end
 
-function drop_all(inspector)
+local function drop_all(inspector)
     call_all(function (id) drop(inspector, id) end)
 end
 
-function vclock_diff(left, right)
+local function vclock_diff(left, right)
     local diff = 0
-    for id, lsn in ipairs(left) do
+    for id, lsn in ipairs(left) do -- luacheck: no unused
         diff = diff + (right[id] or 0) - left[id]
     end
-    for id, lsn in ipairs(right) do
+    for id, lsn in ipairs(right) do -- luacheck: no unused
         if left[id] == nil then
             diff = diff + right[id]
         end
diff --git a/test/replication/lua/rlimit.lua b/test/replication/lua/rlimit.lua
index de9f86a358385773532d199b1b53015901965718..1bd9e333fbb84afc116ee50e911b17684ec69709 100644
--- a/test/replication/lua/rlimit.lua
+++ b/test/replication/lua/rlimit.lua
@@ -1,5 +1,5 @@
 
-ffi = require('ffi')
+local ffi = require('ffi')
 pcall(ffi.cdef, [[
 typedef long rlim_t;
 struct rlimit {
diff --git a/test/replication/master.lua b/test/replication/master.lua
index e924b54954942bc9fc8d84e3d0b53081afeeaf3d..b43bafd54f41f200e94da152a6f6d55f15de3386 100644
--- a/test/replication/master.lua
+++ b/test/replication/master.lua
@@ -1,5 +1,5 @@
 #!/usr/bin/env tarantool
-os = require('os')
+local os = require('os')
 box.cfg({
     listen              = os.getenv("LISTEN"),
     memtx_memory        = 107374182,
diff --git a/test/replication/master_quorum.lua b/test/replication/master_quorum.lua
index 20f161cc0f9f7caf9a8505fdc6106fb4601afa6b..8b7ddc5ebbba4c416016995cf7c7132bd035efef 100644
--- a/test/replication/master_quorum.lua
+++ b/test/replication/master_quorum.lua
@@ -26,8 +26,8 @@ box.cfg({
     replication_timeout = TIMEOUT;
 })
 
-test_run = require('test_run').new()
-engine = test_run:get_cfg('engine')
+local test_run = require('test_run').new()
+local engine = test_run:get_cfg('engine')
 
 box.once("bootstrap", function()
     box.schema.user.grant("guest", 'replication')
diff --git a/test/replication/on_replace.lua b/test/replication/on_replace.lua
index 71e63d3f9367af2dfa431d32718bf090f3e5a4f8..df65832c4c2859d7354479f2d44eca906b836c3b 100644
--- a/test/replication/on_replace.lua
+++ b/test/replication/on_replace.lua
@@ -15,9 +15,9 @@ end
 
 -- start console first
 require('console').listen(os.getenv('ADMIN'))
-env = require('test_run')
-test_run = env.new()
-engine = test_run:get_cfg('engine')
+local env = require('test_run')
+local test_run = env.new()
+local engine = test_run:get_cfg('engine')
 
 box.cfg({
     listen = instance_uri(INSTANCE_ID);
diff --git a/test/replication/replica.lua b/test/replication/replica.lua
index 76949a56884d37ddfc0238b836ffefc39371d5a7..d5367173575b3084fca24e8c25d336972afaf3f7 100644
--- a/test/replication/replica.lua
+++ b/test/replication/replica.lua
@@ -1,7 +1,7 @@
 #!/usr/bin/env tarantool
 
-repl_include_self = arg[1] and arg[1] == 'true' or false
-repl_list = nil
+local repl_include_self = arg[1] and arg[1] == 'true' or false
+local repl_list
 
 if repl_include_self then
     repl_list = {os.getenv("MASTER"), os.getenv("LISTEN")}
diff --git a/test/replication/replica_on_schema_init.lua b/test/replication/replica_on_schema_init.lua
index 8a221681bda4ae58e11211e81d7ca7c4cfdac761..eb5a5c9928fa9a1aa24771acba19f38fa164128b 100644
--- a/test/replication/replica_on_schema_init.lua
+++ b/test/replication/replica_on_schema_init.lua
@@ -1,12 +1,12 @@
 #!/usr/bin/env tarantool
 
-function trig_local(old, new)
+local function trig_local(old, new) -- luacheck: no unused args
     if new and new[3] == 'test_local' and new[6]['group_id'] ~= 1 then
         return new:update{{'=', 6, {group_id = 1}}}
     end
 end
 
-function trig_engine(old, new)
+local function trig_engine(old, new) -- luacheck: no unused args
     if new and new[3] == 'test_engine' and new[4] ~= 'vinyl' then
         return new:update{{'=', 4, 'vinyl'}}
     end